【发布时间】:2012-06-04 14:02:43
【问题描述】:
是否可以在 vb.net 或 c#.net 中进行动态回发?
如果我点击按钮A,有一个asp按钮(比如说buttonA),它必须执行一些操作然后触发回发
不应在单击按钮时触发回发。只有在执行了一些操作后才会触发回发
我已经搜索了将近一天,但找不到任何解决方案,请帮助
非常感谢 猫
【问题讨论】:
是否可以在 vb.net 或 c#.net 中进行动态回发?
如果我点击按钮A,有一个asp按钮(比如说buttonA),它必须执行一些操作然后触发回发
不应在单击按钮时触发回发。只有在执行了一些操作后才会触发回发
我已经搜索了将近一天,但找不到任何解决方案,请帮助
非常感谢 猫
【问题讨论】:
默认所有的 asp 按钮都会做回发。如果您想在回发之前执行一些客户端功能,只需将其添加到 OnClientClick 属性并从函数返回 true 或 false,具体取决于您是否需要回发。
<asp:Button ID="Btn1" OnClientClick="return MyFunction();" />
function MyFunction()
{
alert('test');
return true; //Do postback
}
【讨论】:
从客户端调用跟随 JS 到回发。
Response.Write("<script>document.forms[0].submit();</script>");
或者在你想要回发的时候从 JS 调用。
__doPostBack(id,'');
【讨论】:
您可以将客户端脚本附加到 ASP.NET 按钮的 OnClientClick 事件。
<asp:Button ID="MyButton" OnClientClick="return MyButton_ClientClick()" Text="Click Me" runat="server" />
那么你的 JavaScript 函数将如下所示:
function MyButton_ClientClick()
{
...
__doPostback();
}
不是最好的解决方案,但至少它可以让您了解如何继续。
【讨论】:
谢谢大家,终于找到解决办法了
点击按钮我执行一些操作,然后使用下面的代码调用 js 函数
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "postback", "postback();", True)
postback()是执行回发的JS函数
function postback()
{
document.form1.submit(); //postback
}
干杯, 一斤
【讨论】: