按鈕加上詢問訊息
在 ASP.NET 中 Button 是唯一預(yù)設(shè)會(huì) PostBack 的控制項(xiàng),若要在按下按鈕時(shí),出現(xiàn)執(zhí)行的詢問(wèn)訊息,可以在 OnClientClick 屬性加入JavaScript 的 confirm 函式來(lái)處理。Button 控制項(xiàng)輸出到前端的 HTML 碼時(shí),會(huì)依 UseSubmitBehavior 屬性值的 True 或 False 而有不同,而在處理詢問(wèn)訊息時(shí)也會(huì)有差異。
在頁(yè)面上置放一個(gè) Button,UseSubmitBehavior 屬性值預(yù)設(shè)為 True,將 OnClientClick 屬性值設(shè)為 "return confirm('確定執(zhí)行嗎?');" 。
?
aspx 原始碼
?
<asp:Button?ID="Button1"?runat="server"?Text="Button"?OnClientClick="return?confirm('確定執(zhí)行嗎?');"?/>
輸出 HTML 原始碼
<input?type="submit"?name="Button1"?value="Button"?onclick="return?confirm('確定執(zhí)行嗎?');"?id="Button1"?/>
從 HTML 原始碼可以看出它的 type 是 submit,這種按鈕相當(dāng)於執(zhí)行 form1 的 submit,所以在 onclick 事件中無(wú)須去呼叫 __doPostBack 函式。在 onclick 的事件中,當(dāng)使用者按下「是」時(shí)會(huì)傳回 True,此時(shí)就會(huì)執(zhí)行 form1 的 submit 動(dòng)作;當(dāng)使用者按下「否」時(shí)就會(huì)傳回 False,而 form1 的 submit 動(dòng)作就不會(huì)執(zhí)行。
接下來(lái)將 Button 的 UseSubmitBehavior 屬性值預(yù)設(shè)為 False,重新執(zhí)行一次看一下結(jié)果。
aspx 原始碼
<asp:Button?ID="Button1"?runat="server"?Text="Button"?OnClientClick="return?confirm('確定執(zhí)行嗎?');"?UseSubmitBehavior="False"?/>
輸出 HTML 原始碼
<input?type="button"?name="Button1"?value="Button"?
onclick="if?(confirm('確定執(zhí)行嗎?')==false)?{return?false;};__doPostBack('Button1','')"?id="Button1"?/>
這時(shí)只有當(dāng)使用者按「否」時(shí)才會(huì)傳回 Fasle,而按「是」時(shí)就不會(huì)執(zhí)行 return 的動(dòng)作,所以就會(huì)執(zhí)行後面的 __doPostBack 函式了。這種寫法就算是 Button 的 UseSubmitBehavior 屬性值預(yù)設(shè)為 True,一樣可以正常執(zhí)行,所以結(jié)論就是以第二種方法來(lái)做比較具通用性。
在頁(yè)面上置放一個(gè) Button,UseSubmitBehavior 屬性值預(yù)設(shè)為 True,將 OnClientClick 屬性值設(shè)為 "return confirm('確定執(zhí)行嗎?');" 。
?
aspx 原始碼
?
<asp:Button?ID="Button1"?runat="server"?Text="Button"?OnClientClick="return?confirm('確定執(zhí)行嗎?');"?/>
輸出 HTML 原始碼
<input?type="submit"?name="Button1"?value="Button"?onclick="return?confirm('確定執(zhí)行嗎?');"?id="Button1"?/>
從 HTML 原始碼可以看出它的 type 是 submit,這種按鈕相當(dāng)於執(zhí)行 form1 的 submit,所以在 onclick 事件中無(wú)須去呼叫 __doPostBack 函式。在 onclick 的事件中,當(dāng)使用者按下「是」時(shí)會(huì)傳回 True,此時(shí)就會(huì)執(zhí)行 form1 的 submit 動(dòng)作;當(dāng)使用者按下「否」時(shí)就會(huì)傳回 False,而 form1 的 submit 動(dòng)作就不會(huì)執(zhí)行。
接下來(lái)將 Button 的 UseSubmitBehavior 屬性值預(yù)設(shè)為 False,重新執(zhí)行一次看一下結(jié)果。
aspx 原始碼
<asp:Button?ID="Button1"?runat="server"?Text="Button"?OnClientClick="return?confirm('確定執(zhí)行嗎?');"?UseSubmitBehavior="False"?/>
輸出 HTML 原始碼
<input?type="button"?name="Button1"?value="Button"?
onclick="if?(confirm('確定執(zhí)行嗎?')==false)?{return?false;};__doPostBack('Button1','')"?id="Button1"?/>
這時(shí)只有當(dāng)使用者按「否」時(shí)才會(huì)傳回 Fasle,而按「是」時(shí)就不會(huì)執(zhí)行 return 的動(dòng)作,所以就會(huì)執(zhí)行後面的 __doPostBack 函式了。這種寫法就算是 Button 的 UseSubmitBehavior 屬性值預(yù)設(shè)為 True,一樣可以正常執(zhí)行,所以結(jié)論就是以第二種方法來(lái)做比較具通用性。
轉(zhuǎn)載于:https://www.cnblogs.com/jeff377/archive/2007/12/05/984042.html
總結(jié)
- 上一篇: IsWindow,findwindow
- 下一篇: IT牛人往事如烟之七大“先烈”