ASP.NET中的doPostBack腳本函數(shù)實(shí)例_.Net教程
推薦:.Net FW中無(wú)法正確顯示中文問(wèn)題.Net Framework無(wú)法正確顯示中文的問(wèn)題,只需在程序執(zhí)行的目錄中(無(wú)論這個(gè)目錄是否為虛擬目錄)創(chuàng)建一個(gè)名為web.config的文件并在文件中輸入以下內(nèi)容:
今天來(lái)說(shuō)說(shuō)當(dāng)ASP.NET中的doPostBack腳本函數(shù)的應(yīng)用,ASPX頁(yè)面有包含asp:LinkButton或者帶有AutoPostBack屬性且其值為true的服務(wù)器控件時(shí),ASP.NET會(huì)自動(dòng)為頁(yè)面生成下面的腳本:
| 以下為引用的內(nèi)容: <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> function __doPostBack(eventTarget, eventArgument) { if(!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } |
__doPostBack帶有兩個(gè)參數(shù):eventTarget和eventArgument。
eventTarget是引起回送的控件的ID,eventArgument是回調(diào)參數(shù)(與控件相關(guān)的附加數(shù)據(jù))。這兩個(gè)參數(shù)分別由隱藏的兩個(gè)表單域__ EVENTTARGET和__ EVENTARGUMENT保存。
使用這兩個(gè)隱藏的表單可以查找引起頁(yè)面回送的控件ID和回送時(shí)的參數(shù):
| 以下為引用的內(nèi)容: protected void Page_Load(object sender, EventArgs e) { string target = Request.Params["__EVENTTARGET"]; string args = Request.Params["__EVENTARGUMENT"]; } |
因?yàn)閍sp:Button和asp:ImageButton不是使用__doPostBack回送頁(yè)面,所以使用這兩個(gè)控件回送頁(yè)面時(shí),上面的代碼是無(wú)效的。
使用HTML控件回送頁(yè)面:
| 以下為引用的內(nèi)容: <form id="form1" runat="server"> <asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton> <input type="button" value="Client Control" onclick="javascript:__doPostBack(’Button1’, ’Button Click’);" /> </form> protected void Page_Load(object sender, EventArgs e) { if(this.IsPostBack) { string target = Request.Params["__EVENTTARGET"]; string args = Request.Params["__EVENTARGUMENT"]; Response.Write("Button ID: " target "<br />"); Response.Write("Arguments: " args "<br />"); } } |
加入的目的是為了讓ASPX自動(dòng)生成__doPostBack腳本。
阻止asp:Button提交頁(yè)面:
| 以下為引用的內(nèi)容: <form id="form1" runat="server"> |
分享:c#.net函數(shù)列表1、DateTime 數(shù)字型 System.DateTime currentTime=new System.DateTime(); 1.1 取當(dāng)前年月日時(shí)分秒 currentTime=System.DateTime.Now; 1.2 取當(dāng)前年 int 年=currentTime.Year; 1.3
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶(hù)端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-ASP.NET中的doPostBack腳本函數(shù)實(shí)例
。