ModalPopupExtender:多个ModalPopupExtender似乎不在UpdatePanel内的一个页面上工作 [英] ModalPopupExtender: Multiple ModalPopupExtender don't seem to work on one page inside UpdatePanel

查看:74
本文介绍了ModalPopupExtender:多个ModalPopupExtender似乎不在UpdatePanel内的一个页面上工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近了解了ModalPopupExtender控件,并发现它非常有用。所以,我决定将它们用于我的网站。



所以我的login.aspx页面我有以下代码/结构:



 <   asp:ScriptManager     ID   =  ScriptManager1    runat   =  server >  
< ; / asp:ScriptManager >
< asp:UpdatePanel ID = UpdatePanel1 runat = server >
< < span class =code-leadattribute> ContentTemplate
>
< asp:Panel ID = pnl_login runat = 服务器 > ;
<% - textbox&密码字段 - %>

< asp:HyperLink ID = hl_getpass runat = 服务器 > 忘记密码?< / asp:HyperLink >
< asp:ModalPopupExtender ID = hl_getpass_ModalPopupExtender runat = server

< span class =code-attribute> DynamicServicePath = 已启用 = True PopupControlID = pnl_getpassword

TargetControlID = hl_getpass >
< / asp:ModalPopupExtender >

< asp:HyperLink ID = hl_register runat = server > 注册< / asp:HyperLink >

< < span class =code-leadattribute> asp:ModalPopupExtender ID = hl_register_ModalPopupExtender runat = server

DynamicServicePath = 已启用 = True PopupControlID = pnl_register

TargetControlID = hl_register >
< / asp:ModalPopupExtender >

< asp:按钮 ID = btn_login runat = server OnClick = btn_login_Click / > ;
< / asp:Panel >

&l t; asp:Panel ID = pnl_register runat = server >
<% - 注册表单 - %> ;
< asp:按钮 ID = btn_register runat = server OnClick = btn_register_Click / >
< / asp:Panel >

< asp:Panel ID = pnl_getpassword runat = server >
<% - 电子邮件文本框 - %>
< asp:按钮 ID = btn_sendPassword runat = server OnClick = btn_sendPassword_Click / >
< / asp:Panel >

< / ContentTemplate >
< ; 触发器 >
< asp:PostBackTrigger ControlID = btn_login / >
< asp:PostBackTrigger ControlID = btn_register / >
< span class =code-keyword>< asp:PostBackTrigger ControlID = btn_sendPassword / >
< /触发器 >
< / asp:UpdatePanel >







btn_login,btn_register和btn_sendPassword的代码工作正常,但出于某种原因,当它们被置于上述结构中时,它们不会。按钮变得无用,OnClick事件似乎没有注册。



令人惊讶的是,当我删除asp:Panel(pnl_register或pnl_getpassword)中的任何一个时以及他们各自的asp:PostBackTrigger,它的工作原理。



我不确定出了什么问题。任何想法?

解决方案

这是一个没有看到所有代码的艰难的一个



我想你的只是忽略按钮上的事件处理程序单击后面代码中的函数。

受保护的子Button1_Click(发送者为对象,e为System.EventArgs)处理Button1.Click 
如果page.IsPostback那么
httpcontext.current.response.write(我还活着)
结束如果
结束Sub


I recently have learnt about the ModalPopupExtender control and have found it very useful. So, i decided to use them into my website.

So my login.aspx page I has following code/structure:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Panel ID="pnl_login" runat="server">
            <%-- textbox & password fields --%>

            <asp:HyperLink ID="hl_getpass" runat="server">Forgot your Password?</asp:HyperLink>
            <asp:ModalPopupExtender ID="hl_getpass_ModalPopupExtender" runat="server"

                DynamicServicePath="" Enabled="True" PopupControlID="pnl_getpassword"

                TargetControlID="hl_getpass">
            </asp:ModalPopupExtender>

            <asp:HyperLink ID="hl_register" runat="server">Register</asp:HyperLink>

            <asp:ModalPopupExtender ID="hl_register_ModalPopupExtender" runat="server"

            DynamicServicePath="" Enabled="True" PopupControlID="pnl_register"

            TargetControlID="hl_register">
            </asp:ModalPopupExtender>

            <asp:Button ID="btn_login" runat="server" OnClick="btn_login_Click"/>
        </asp:Panel>

        <asp:Panel ID="pnl_register" runat="server">
            <%-- signup form --%>
            <asp:Button ID="btn_register" runat="server" OnClick="btn_register_Click"/>
            </asp:Panel>

        <asp:Panel ID="pnl_getpassword" runat="server">
            <%-- email textbox --%>
            <asp:Button ID="btn_sendPassword" runat="server" OnClick="btn_sendPassword_Click"/>
        </asp:Panel>

    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btn_login" />
        <asp:PostBackTrigger ControlID="btn_register" />
        <asp:PostBackTrigger ControlID="btn_sendPassword" />
    </Triggers>
</asp:UpdatePanel>




The codes for btn_login, btn_register and btn_sendPassword works just fine but for some reason when they are put into above structure they don''t. The button becomes useless, the OnClick events don''t seem to get registered.

Surprisingly, when I remove either of the asp:Panel (pnl_register or pnl_getpassword) as well as their respective asp:PostBackTrigger, it works.

I am not sure what is going wrong. Any ideas?

解决方案

That''s a tough one without seeing all the code

I think your just missing the event handler on the button click functions in code behind.

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
  If page.IsPostback then
   httpcontext.current.response.write("I''m alive")
  End if
End Sub


这篇关于ModalPopupExtender:多个ModalPopupExtender似乎不在UpdatePanel内的一个页面上工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆