2017-08-03 62 views
2

我能避免postback上按一下按钮(不要在Page_Load方法不走),防止服务器回传的按钮点击

尽管,直接调用处理程序。

我试过html按钮,asp buttonlink button,但没有得到我的目标。

可能吗?

+0

'调用无回发的事件处理程序,是否有可能?'是的,只需将您的按钮和其他内容包装到**更新面板**中即可。 – Prabhat

+0

可能重复的[如何禁用asp按钮回发](https://stackoverflow.com/questions/683746/how-to-disable-postback-on-an-asp-button) – VDWWD

+0

@Prabhat我试过同样的解决方案,但没有成功。 –

回答

3

您可以使用OnClientClick。它会调用你想要执行的函数(jquery函数),然后使用return false来避免页面加载。在您的按钮添加:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="yourfunction(); return false;" /> 

如果你想打电话不回传后面的功能代码,那么有两种方法可以做到这一点:

  1. 使用的UpdatePanel。 You can read this tutorial

  2. 或使用页面方法:

添加一个静态方法到您的网页,饰有WebMethod属性:

[WebMethod] 
public static void MyMethod(string Param) 
{ 
} 

启用页面方法,您的ScriptManager:

<asp:ScriptManager EnablePageMethods="True" ... /> 

然后你可以从客户端使用JavaScript调用它(OnClientClick按钮事件)。

PageMethods.MyMethod("value", successCallback, errorCallback); 

有关详细信息阅读:http://msdn.microsoft.com/en-us/library/bb398998.aspx

希望它会帮助你..!

0

使用JavaScript,如果你想禁用后置背 做这个尝试下面的代码

<asp:button runat="server".... OnClientClick="myfunction(); return false;" /> 

,将取消回发的

+0

不,我想调用服务器端处理程序,而无需在服务器上回发。您的解决方案不会将程序流传送到服务器端。 –