本文共 2632 字,大约阅读时间需要 8 分钟。
function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } }So, all you have to do is, just call this method with appropriate arguments. You may call this as shown below:
However, it is not recommended to use this method name directly in the client side. The best approach is, generate this piece of code from the code behind file using ASP.NET. This way, you are safe even if Microsoft later change the name of the method '__doPostBack' to something else in a future release.In your code behind file, declare a protected variable as shown below:
Protected PostBackStr As StringNow, in the page load event, write the following code:
PostBackStr = Page.ClientScript.GetPostBackEventReference(Me, "MyCustomArgument")The method GetPostBackEventReference() will generate the same piece of client side code that you need to use to call the Postback method. Instead of harcoding the method name __doPostBack, we are asking ASP.NET to tell us what is the method name.Now insert the following code in your Aspx page:
At runtime, it will be evaluated as:
Remember to insert the above script into some Javascript method/event where you want to call the postback, instead of simply inserting into the page as shown above.
If Page.IsPostBack Then Dim eventArg As String = Request("__EVENTARGUMENT") If eventArg = "MyCustomArgument" Then Response.Write("You got it !") End If End IfDid you notice how we identify if the page is loaded as part of our postback? We used the second argument in the __doPostBack method to pass a value and used that in PageLoad to identify if it is called as a result of our PostBack.
转载地址:http://jcqbi.baihongyu.com/