缺少OnClientClick时ASP按钮不起作用

时间:2012-09-27 12:23:00

标签: asp.net vb.net button

我生成了一个带有ASP按钮的页面,该按钮可以加载另一个页面。

<asp:Button ID="ServerCredentials" runat="server" Text="Server Credentials" Font-Names="Verdana" Font-Size="12px" OnClick="Credential_Click" Width="135px"/>

加载另一页的功能:

 Protected Sub Credential_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Response.Redirect("~/WebPage/Booking/ExchangeServer.aspx")
    End Sub

此代码仅在我在包含交换数据的页面上注册时才有效。

当我没有注册时,没有任何反应。

但是,如果我使用任何功能进行onclientclick,它会再次起作用。 像这样:

<asp:Button ID="ServerCredentials" runat="server" Text="Server Credentials" Font-Names="Verdana" Font-Size="12px" OnClientClick="return CheckDateVonBis()"  OnClick="Credential_Click" Width="135px"/>

onclick和onclientclick有什么区别?

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

onclick for server side functiononclientclick for client side

OnClientClick:如果你想调用javascript函数

链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.button.onclientclick(v=vs.80).aspx

OnClick:如果您希望在服务器端声明的函数后面调用代码

链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.button.onclick.aspx

答案 1 :(得分:0)

您可以尝试

而不是Response.Redirect
Server.TransferRequest("~/WebPage/Booking/ExchangeServer.aspx")

答案 2 :(得分:0)

我找到了解决方案:

我只需要在False上设置一个CausesValidation来解决问题:

 <asp:Button ID="ServerCredentials" runat="server" Text="Server Credentials" Font-Names="Verdana" Font-Size="12px" CausesValidation="False" OnClick="Credential_Click" Width="135px"/>

我看起来该网站需要验证才能运行该功能