asp禁用按钮回发

时间:2010-09-20 09:32:41

标签: asp.net

我正在开发一个网页,页面加载时会有很多jquery动画。 我还有一个联系表单,其中“发送”按钮将表单数据发送到客户端电子邮件。 现在,当我按下按钮时,页面会重新发布并加载(包括开始时的动画)...我不想要那个.. 我在网上看到了一些需要在onClientClick属性中放置“return false”的解决方案,但这会禁用c#中要执行的代码,从而禁止表单数据适合所需的电子邮件。

代码很简单

<asp:Button ID="sendButton" runat="server" Text="Send" onclick="sendButton_Click" />

并且在后面的代码中的sendButton_Click方法中我有发送数据的逻辑...

任何帮助都会得到满足!

4 个答案:

答案 0 :(得分:0)

你的问题可能不是停止你的按钮的回发,而是以某种方式调整你的jQuery动画s.t.一旦页面回发,就不会重复。

处理这种情况的可能性可能是将服务器标签放在jQuery脚本中,如

if(<%=!Page.IsPostBack %>){
   //do jQuery animation
}

通过一些调整,这可行。您必须检查“Page.IsPostBack”究竟返回什么。也许你得到的结果是String s.t.你必须在JavaScript中明确地比较它。

答案 1 :(得分:0)

试试这个:

protected void Page_Load( object sender, EventArgs e )
{
       if ( !Page.IsPostBack )
       {
           myButton.Attributes["onclick"] = "this.removeAttribute('onclick');" + Page.ClientScript.GetPostBackEventReference( myButton, null );
       }
}

答案 2 :(得分:0)

对于所有人来说,这是一个很好的解决方案,但我自己想出了一个解决方案...... 我将联系人内容放在iframe中,当用户点击该按钮时,只有iframe回发 - 而不是主页...

答案 3 :(得分:0)

只需使用AJAX发回表单。

http://api.jquery.com/category/ajax/