[ad_1]
हाय दोस्तों,
मेरे में asp:GridView
घटक मेरे पास DeleteMethod सेटअप है। इसके अलावा CommandField भी स्थापित किया गया है:
<asp:CommandField ShowEditButton="true" ShowDeleteButton="true" ButtonType="Image" ControlStyle-Width="24px" EditImageUrl="~/Images/edit-icon-png-3601.png" CancelImageUrl="~/Images/close-button-png-30225.png" UpdateImageUrl="~/Images/check-tick-icon-14150.png" DeleteImageUrl="~/Images/trash-can-24846.png" />
में OnRowDataBound()
जिस विधि की मैं जाँच करता हूँ DeleteButton
और onclientclick ईवेंट में जावास्क्रिप्ट जोड़ें।
जावास्क्रिप्ट काम करता है, लेकिन ओके शुरू नहीं होता है DeleteMethod
कोडबिहाइंड में.
जब मैं जावास्क्रिप्ट नहीं जोड़ता, तो विधि काम करती है।
डिलीट कमांडबटन को जावास्क्रिप्ट के साथ कैसे काम करें?
** .NET फ्रेमवर्क 4.7.2 का उपयोग करना
मैंने क्या प्रयास किया है:
जावास्क्रिप्ट जोड़ने के लिए मेरा कोड:
public static void AddDeleteMessage(GridViewRow row) { int nrControls = row.Controls.Count; Control lastGridViewCell = row.Controls[nrControls - 1]; var deleteButton = lastGridViewCell.Controls.OfType<ImageButton>().FirstOrDefault(btn => btn.CommandName == "Delete"); if (deleteButton != null) { deleteButton.OnClientClick = string.Format("javascript: return confirm(\"Are you sure?\");"); }
समाधान 1
जब आप वेबफॉर्म लिंक/छवि बटन पर क्लिक करते हैं तो उन्हें कुछ जावास्क्रिप्ट को कॉल करके कार्यान्वित किया जाता है।
लेकिन आपने जावास्क्रिप्ट जोड़ा है पहले जो बिना शर्त लौटाता है true/false
जिसका अर्थ है कि इस कोड को कभी भी कॉल नहीं किया जाएगा।
यदि आप अपने पृष्ठ का स्रोत देखते हैं, तो आपको कुछ ऐसा दिखाई देगा:
onclick="javascript: return confirm(...); DoPostBack(...);"
स्पष्ट रूप से पोस्टबैक पद्धति को कभी भी नहीं बुलाया जा सकता।
अपना बदलें OnClientClick
केवल को return
यदि उपयोगकर्ता रद्द करना चुनता है:
deleteButton.OnClientClick = "if(!confirm(\"Are you sure?\")){return false;}";
[ad_2]
コメント