按鈕加上詢問訊息
在 ASP.NET 中 Button 是唯一預(yù)設(shè)會 PostBack 的控制項,若要在按下按鈕時,出現(xiàn)執(zhí)行的詢問訊息,可以在 OnClientClick 屬性加入JavaScript 的 confirm 函式來處理。Button 控制項輸出到前端的 HTML 碼時,會依 UseSubmitBehavior 屬性值的 True 或 False 而有不同,而在處理詢問訊息時也會有差異。
在頁面上置放一個 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,這種按鈕相當於執(zhí)行 form1 的 submit,所以在 onclick 事件中無須去呼叫 __doPostBack 函式。在 onclick 的事件中,當使用者按下「是」時會傳回 True,此時就會執(zhí)行 form1 的 submit 動作;當使用者按下「否」時就會傳回 False,而 form1 的 submit 動作就不會執(zhí)行。
接下來將 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"?/>
這時只有當使用者按「否」時才會傳回 Fasle,而按「是」時就不會執(zhí)行 return 的動作,所以就會執(zhí)行後面的 __doPostBack 函式了。這種寫法就算是 Button 的 UseSubmitBehavior 屬性值預(yù)設(shè)為 True,一樣可以正常執(zhí)行,所以結(jié)論就是以第二種方法來做比較具通用性。
在頁面上置放一個 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,這種按鈕相當於執(zhí)行 form1 的 submit,所以在 onclick 事件中無須去呼叫 __doPostBack 函式。在 onclick 的事件中,當使用者按下「是」時會傳回 True,此時就會執(zhí)行 form1 的 submit 動作;當使用者按下「否」時就會傳回 False,而 form1 的 submit 動作就不會執(zhí)行。
接下來將 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"?/>
這時只有當使用者按「否」時才會傳回 Fasle,而按「是」時就不會執(zhí)行 return 的動作,所以就會執(zhí)行後面的 __doPostBack 函式了。這種寫法就算是 Button 的 UseSubmitBehavior 屬性值預(yù)設(shè)為 True,一樣可以正常執(zhí)行,所以結(jié)論就是以第二種方法來做比較具通用性。
轉(zhuǎn)載于:https://www.cnblogs.com/jeff377/archive/2007/12/05/984042.html
總結(jié)
- 上一篇: IsWindow,findwindow
- 下一篇: IT牛人往事如烟之七大“先烈”