2015-12-01 59 views
0

我正在使用使用visual studio模板创建的Web窗体应用程序。该模板具有内容占位符,该内容占位符被正在访问的任何页面的内容替换。有问题的页面有几个服务器控件,如文本框,标签和按钮。当我点击我的更新按钮它正常工作,价值回发和我更新我的数据库。当web用户控件添加到页面时,asp按钮onclick不会触发

我想在我的所有子页面上创建通用的登录提示。我的导航栏位于主页面,属于引导程序设置。我在导航栏中添加了一个下拉列表项,在这里我放置了一个Web用户控件,该控件包含一个用于登录的表单。一旦添加了Web用户控件,onclick事件不再触发,并且我也遇到了控件验证问题(错误说无效回发或参数回调)。我在我的web配置中关闭了事件验证,我解决了控件无法工作的一个问题,但现在我仍然遇到onclick事件没有触发的问题。任何想法,我可能会错过这里?

<ul class="nav navbar-nav navbar-right"> 
        <li class="dropdown"> 
         <a id="loginIcon" href="#" class="dropdown-toggle" data-toggle="dropdown" runat="server">Login<b class="caret"></b></a> 
         <ul class="dropdown-menu"> 
          <li> 
           <LoginUserControl:Login ID="loginFormControl" runat="server"/> 
          </li> 
         </ul> 
        </li> 
       </ul> 

<form id="login"> 
<div class="login-content" id="loginContainer" runat="server"> 
    <fieldset id="inputs"> 
     <asp:TextBox ID="txtUserName" runat="server" placeholder="Your username" required="true"></asp:TextBox> 
     <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" placeholder="Password" require="true"></asp:TextBox> 
    </fieldset> 
    <fieldset id="actions"> 
     <asp:Button ID="btnLogin" CssClass="submit" runat="server" Text="Login" OnClick="checkUser"></asp:Button> 
     <%--<asp:CheckBox ID="chkRemember" runat="server" Checked="true"></asp:CheckBox>Remember me--%> 
    </fieldset> 
    <%--<a href="#" style="float: right;">Forgot password?</a> 
    <a href="#">Sign up</a>--%> 
</div> 
<div class="login-content" id="logoutContainer" visible="false" runat="server"> 
    <fieldset id="logoutAction"> 
     <asp:Button ID="btnLogout" CssClass="submit" runat="server" Text="Logout" OnClick="logoutUser"></asp:Button> 
    </fieldset> 
</div> 

  <div class="w3-half"> 
       <div class="w3-row-padding"> 
        <asp:Label ID="setPointsLbl" Text="Setpoints" CssClass="controlsLlb" runat="server"></asp:Label> 
       </div> 
       <div class="w3-row-padding"> 
        <asp:Label Text="High:" runat="server"></asp:Label> 
        <asp:TextBox CssClass="controlsTb" ID="highSetPoint" runat="server"></asp:TextBox> 
       </div> 
       <div class="w3-row-padding"> 
        <asp:Label Text="Low:" runat="server"></asp:Label> 
        <asp:TextBox CssClass="controlsTb" ID="lowSetPoint" runat="server"></asp:TextBox> 
       </div> 
       <div class="w3-row-padding"> 
        <asp:Button ID="updateBtn" CssClass="btn btn-default rightFloat" Text="Update" OnClick="UpdateSetPoints" runat="server" /> 
       </div> 
      </div> 

上面的代码显示了我的母版页添加用户控件列表, 在用户控件的HTML,然后一些我的孩子页面的HTML。

回答

1

发生这种情况是因为您在页面中有2个表单元素。在asp.net中,整个站点只允许有1个表单(主页面和子页面)。 该怎么做。 删除表单id =登录

+0

非常感谢!我甚至没有想到这一点。我将表单更改为div来充当容器,并且onclicks再次开始工作,以及登录时验证没有问题。非常感谢!我一直被困在前一天。 –

+0

欢迎,那么你应该把它标记为正确的答案 –

相关问题