2012-03-03 9 views
3

Login控件不呈現佈局模板下的HTML,它僅渲染服務器端控件, 這標記:Asp.net登錄控制,僅渲染服務器端控件沒有HTML

<asp:Login ID="Login11" EnableTheming="false" runat="server" MembershipProvider="SqlProvider" 
      OnLoginError="Login11_LoginError" LoginButtonType="Link"> 
      <LayoutTemplate> 
       <div class="login-box"> 
        <div> 
         <table cellpadding="10" cellspacing="0"> 
          <tr> 
           <td> 
            User name: 
           </td> 
           <td> 
            <asp:TextBox ID="UserName" runat="server"></asp:TextBox> 

           </td> 
          </tr> 
          <tr> 
           <td> 
            Password: 
           </td> 
           <td> 
            <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> 

           </td> 
          </tr> 
          <tr> 
           <td> 
           </td> 
           <td> 
            <a href="<%=Util.BaseUrl %>Pages/Account/ForgotPassword.aspx">Forgot Password?</a> 
           </td> 
          </tr> 
          <tr> 
           <td colspan="2"> 
            <asp:CheckBox ID="RememberMe" runat="server" Text="Remember my password"></asp:CheckBox> 
           </td> 
          </tr> 
         </table> 
        </div> 
        <div> 
         <asp:LinkButton ID="LoginBtn" CommandName="Login" runat="server" CssClass="login-btn">Login</asp:LinkButton> 
        </div> 
        <div> 
         <asp:Literal ID="FailureText" runat="server"></asp:Literal> 
        </div> 
       </div> 
      </LayoutTemplate> 
     </asp:Login> 

和輸出是:

<input name="ctl00$ContentPlaceHolder1$Login11$Password" id="ctl00_ContentPlaceHolder1_Login11_Password" type="password"> 

<input id="ctl00_ContentPlaceHolder1_Login11_RememberMe" name="ctl00$ContentPlaceHolder1$Login11$RememberMe" type="checkbox"> 

<label for="ctl00_ContentPlaceHolder1_Login11_RememberMe">Remember my password</label> 

<a id="ctl00_ContentPlaceHolder1_Login11_LoginBtn" class="login-btn" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$Login11$LoginBtn','')">Login</a> 

爲什麼出現這種情況?!

+0

如果設置爲TRUE;屬性'EnableTheming'會發生什麼? – balexandre 2012-03-03 05:49:46

+0

同樣的結果:■ – amd 2012-03-03 05:52:01

+0

接縫您缺少一些配置,我只是想用一個簡單的Web窗體頁面和正常工作... – balexandre 2012-03-03 05:55:22

回答

0

刪除以下後:

<%=Util.BaseUrl %> 

從HTML標籤

<a href="<%=Util.BaseUrl %>Pages/Account/ForgotPassword.aspx">Forgot Password?</a> 

佈局模板已經呈現correclty。

0

我有同樣的問題,我會都快瘋了什麼。直到我看到你的問題。然而,儘管如此,我並不是唯一一個偶然發現這個bug的人。

我不知道爲什麼會這樣,但你的問題包括溶液(或更好的解決方法)

我看你有沒有在層次結構的頂部一個div那裏(class="login-box")。我想設置runat屬性(runat="server")將解決問題。

至少這是我做什麼,除了我在層次結構的頂端有一個表,而不是一個div。使表運行在服務器端(意味着實際上有一個HtmlTable控制添加到模板中的控件集合),解決了問題,而且我也沒必要設置該表下方的任何其他客戶端的元素,在服務器端運行。只有頂層元素需要runat屬性。