如何使用JavaScript调用asp:Button OnClick事件?

时间:2013-03-05 04:01:35

标签: javascript asp.net html .net

我有一个问题,我有一个如下按钮:

<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Visible="false" />

然后我有HTML按钮,如下所示:

<button id="btnsave" onclick="fncsave">Save</button>

我有下面的javascript:

<script type="text/javascript">
     function fncsave()
     {
        document.getElementById('<%= savebtn.OnClick %>').click()
     }
</script>

我现在的问题是,如何从HTML按钮调用asp:Button OnClick?我已经读过你可以通过Id从JavaScript调用但不能正常工作。

任何帮助都会非常感激。

谢谢

2 个答案:

答案 0 :(得分:24)

设置style= "display:none;"。通过设置visible=false,它不会在浏览器中呈现按钮。因此,客户端脚本不会执行。

<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" style="display:none" />

html标记应该是

<button id="btnsave" onclick="fncsave()">Save</button>

将javascript更改为

<script type="text/javascript">
     function fncsave()
     {
        document.getElementById('<%= savebtn.ClientID %>').click();
     }
</script>

答案 1 :(得分:6)

如果你愿意使用jQuery:

<script type="text/javascript">
 function fncsave()
 {
    $('#<%= savebtn.ClientID %>').click();
 }
</script>

此外,如果您使用的是.NET 4或更高版本,则可以创建ClientIDMode == static并简化代码:

<script type="text/javascript">
 function fncsave()
 {
    $("#savebtn").click();
 }
</script>

参考:MSDN Article for Control.ClientIDMode