Mon*_*per 2 javascript c# asp.net webforms
我有一个传统的ASP.NET Web窗体.我们曾经有一个按钮定义如下:
<asp:Button ID="myButton" Runat="server" OnClick="myButton_Click" />
Run Code Online (Sandbox Code Playgroud)
在.aspx.cs页面中,我有以下内容:
protected void myButton_Click(object sender, EventArgs e)
{
// Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
但是,现在有人决定使用一个奇特的JavaScript框架.基本上,我只有:
<input type="button" id="myButton" onclick="someJSFunction()" />
<script type="text/javascript">
function someJSFunction() {
// Need to execute "myButton_Click" here.
}
</script>
Run Code Online (Sandbox Code Playgroud)
我如何从这里实际在服务器上执行我的原始方法?我知道这是一个非常奇怪的问题.我已经简化了代码,试图直接传达我想要实现的目标.有人可以告诉我该怎么做?
非常感谢!
你可以写
__doPostBack('<%=myButton.ClientID%>','OnClick');
Run Code Online (Sandbox Code Playgroud)
或者更好,更不容易出错使用ASP.Net ClientScriptManager
<%= Page.ClientScript.GetPostBackEventReference(myButton, String.Empty) %>;
Run Code Online (Sandbox Code Playgroud)
第二个实际上是__doSubmit在封面下写,但你正在获得ASP.Net框架为你做.此外,第一个将回发页面,但第二个也会触发正确的服务器端事件.它更好地集成到ASP.Net架构中.要么会工作.
这个最近的SO问题解释了它比我能做得更好(或者更确切地说当时做了)
| 归档时间: |
|
| 查看次数: |
9294 次 |
| 最近记录: |