0

我还有另一个奇怪的需要。我有一个带有动态按钮的 jQuery 对话框(

我的按钮将被“解雇”:

<asp:Button ID="RenewSubscriptionButton" runat="server" Visible="false" />

我使用回发验证的隐藏输入:

<input type="hidden" id="RenewSubscriptionPostBackValue" runat="server" />

在我的 page_load 中:

Me.RenewSubscriptionPostBackValue.Value = _
       Me.Parent.Page.ClientScript.GetPostBackEventReference _
      (Me.RenewSubscriptionButton, String.Empty)

AddHandler Me.RenewSubscriptionButton.Click, AddressOf RenewSubscription

在我的 Asp.net 控件中,我有一个调用并评估生成的 __doPostBack 的 js 函数:

$('#mgrSubPanel').dialog('destroy');
// cause postback and have it run the workflow...
eval($("#<%= RenewSubscriptionPostBackValue.ClientID %>").val());

它会导致回发,但不会调用我后面代码中的函数 RenewSubscription。不确定寻址是否失败或什么,但也许你们中的一个人可以看到我的错误并纠正我......

提前致谢...

4

2 回答 2

0

您只需通过 jQuery 单击按钮即可大大简化代码,如下所示:

$('#mgrSubPanel').dialog('destroy');
$("#<%=RenewSubscriptionButton.ClientID %>").click();

这就像用户直接单击按钮一样,不需要额外<input>的代码或GetPostBackEventReference代码,只需保留按钮本身的处理程序 ( AddHandler Me...) 就可以了。

于 2010-04-14T01:55:23.123 回答
0

当您将此 PostBackEventReference 脚本添加到简单的“onlick”时会发生什么?这通常是我使用它的方式......你在这里的语法让我迷惑了一分钟。:| (虽然我不太习惯 jQuery)

另外,当您说“动态按钮”时,您到底是什么意思?

于 2010-04-13T21:08:45.650 回答