ASP.NET postback with JavaScript
2020-12-13 05:58
标签:receive pos += you values specific its bsp || ASP.NET postback with JavaScript Here is a complete solution The LinkButton is included to ensure that the __doPostBack javascript function is rendered to the client. Simply having Button controls will not cause this __doPostBack function to be rendered. This function will be rendered by virtue of having a variety of controls on most ASP.NET pages, so an empty link button is typically not needed Two input controls are rendered to the client: The __doPostBack function is rendered out like this: As you can see, it assigns the values to the hidden inputs. When the form submits / postback occurs: 前台JavaScript的theForm.submit();运行后,会触发后台绑定的click事件 You can pass whatever you want as arguments to You can then analyze the hidden input values and run specific code accordingly: ASP.NET postback with JavaScript 标签:receive pos += you values specific its bsp || 原文地址:https://www.cnblogs.com/chucklu/p/11159222.htmlEntire form tag of the asp.net page
form id="form1" runat="server">
asp:LinkButton ID="LinkButton1" runat="server" /> -- included to force __doPostBack javascript function to be rendered --%>
input type="button" id="Button45" name="Button45" onclick="javascript:__doPostBack(‘ButtonA‘,‘‘)" value="clicking this will run ButtonA.Click Event Handler" />br />br />
input type="button" id="Button46" name="Button46" onclick="javascript:__doPostBack(‘ButtonB‘,‘‘)" value="clicking this will run ButtonB.Click Event Handler" />br />br />
asp:Button runat="server" ID="ButtonA" ClientIDMode="Static" Text="ButtonA" />br />br />
asp:Button runat="server" ID="ButtonB" ClientIDMode="Static" Text="ButtonB" />
form>
Entire Contents of the Page‘s Code-Behind Class
public partial class Main : Page
{
protected void Page_Load(object sender, EventArgs e)
{
ButtonA.Click += ButtonA_Click;
ButtonB.Click += ButtonB_Click;
}
private void ButtonA_Click(object sender, EventArgs e)
{
Response.Write("You ran the ButtonA click event");
}
private void ButtonB_Click(object sender, EventArgs e)
{
Response.Write("You ran the ButtonB click event");
}
}
What‘s going on?
input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
__EVENTTARGET
receives argument 1 of __doPostBack__EVENTARGUMENT
receives argument 2 of __doPostBackfunction __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
javascript:__doPostBack(‘ButtonB‘,‘‘)
, then the button click handler for that button will be run.What if I don‘t want to run a click handler, but want to do something else instead?
__doPostBack
If Request.Form("__EVENTTARGET") = "DoSomethingElse" Then
Response.Write("Do Something else")
End If
Other Notes
ClientIDMode="Static"
, then you can do something like this: __doPostBack(‘‘, ‘‘)
.__doPostBack(‘‘,‘‘)
文章标题:ASP.NET postback with JavaScript
文章链接:http://soscw.com/essay/32127.html