在受jQuery影响的元素内时,<asp:button>事件不会触发

时间:2017-05-04 18:30:17

标签: javascript c# jquery asp.net

我正在使用C#日历应用程序创建一个ASP.NET。当用户点击一天时,我使用的是jQuery Popup Overlay,这样用户就可以添加“约会”。然后单击按钮以处理代码隐藏中输入的信息。

Popup叠加层基本上隐藏了一个HTML元素,并在单击另一个元素时使其可见(通过上面的链接可以看到很好的例子)。

守则:

<asp:Button ID="ButtonA" runat="server" OnClick="Button_Click" Text="Button A" />
<asp:Label ID="Label" runat="server" Text="Foo"></asp:Label>

<div id='slide'>        
    <div id="content">
        Content of the 'popup panel'
        <asp:Button ID="ButtonB" runat="server" OnClick="Button_Click" Text="Button B" />
    </div>
</div>

代码隐藏:

public void Button_Click(Object sender, EventArgs e)
{
    Label.Text = "Bar"; 
}

使用Javascript:

$(document).ready(function () {
    $('#slide').popup({
        //options
    });
});

我尝试添加AutoPostBack =&#34; true&#34;按钮的参数,但它没有区别(无论如何都应该是自动的,对吗?)。我还尝试添加runat =&#34;服务器&#34; div元素的参数,但这使问题变得更糟。

我担心我不能理解问题的本质,足以提供比这更多的信息 - 抱歉!

1 个答案:

答案 0 :(得分:1)

jQuery插件可能会覆盖按钮的行为。您可以使用您提供的URL中的onclose回调来获得如下函数:

function() {
    __doPostBack("ctl00$MainContent$ButtonB","");
}

如果失败了,你可以在popup div之外设置另一个按钮,你可以在弹出的click()事件中手动执行onclose事件,但这看起来有点像黑客攻击! / p>

相关问题