17

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

<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 调用来做到这一点,但它不起作用。

任何帮助将不胜感激。

谢谢

4

2 回答 2

29

设置 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>
于 2013-03-05T04:06:42.220 回答
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>

参考:Control.ClientIDMode 的 MSDN 文章

于 2013-03-05T04:12:10.250 回答