2017-05-04 125 views
3

我正在用C#日历应用程序创建ASP.NET。当用户点击某一天时,我正在使用一个jQuery Popup Overlay,这将允许用户添加“约会”并单击按钮以在代码隐藏中处理输入的信息。<asp:Button>当受jQuery影响的元素内不会触发事件

弹出叠加层基本上隐藏了一个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 = “真” 参数的按钮,但它不”没有什么不同(应该是自动的,无论是否正确?)。我也尝试将runat =“server”参数添加到div元素,但这使问题变得更糟。

恐怕我不明白问题的性质足以提供比这更多的信息 - 对不起!

+0

''slide'在'

'标签内吗? –

+0

是的,先生,它如预期如果我注释掉JS – Skettenring

+0

获取任何JS错误?你可以编辑你的问题,包括呈现的按钮(在HTML中)? –

回答

1

这很可能是jQuery插件重写按钮的行为。你可以使用的OnClose回调从URL您提供有像这样的功能:

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

如果做不到这一点,你可以有你的onclose事件的过程中做了click()事件上手动弹出的div之外的另一个按钮弹出窗口,但这似乎有点破解!

+0

解决了问题!谢谢 - 优雅的解决方案。 – Skettenring

相关问题