2012-03-03 5 views
3

せずにのみ、サーバー側のコントロールをレンダリングし、 これはマークアップです:Asp.netログインコントロールは、ログインコントロールは、それが唯一のサーバー側のコントロールのレンダリング、レイアウトテンプレートの下にHTMLをレンダリングしていない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

'EnableTheming'プロパティを 'true'に設定すると、何が起こりますか? – balexandre

+0

同じ結果: – amd

+0

いくつかの設定が欠落していて、単純なWebフォームページで試してみましたが、正常に動作しています... – balexandre

答えて

0

私は同じ問題を抱えていました。私はほとんど夢中になりました。私はあなたの質問を見るまで。それから、私はこのバグに遭遇する唯一の人ではありません。私にはわからない

は、なぜこの出来事ですが、あなたの質問には、溶液(またはより良い、回避策)私はあなたが階層の最上部にありDIV(class="login-box")を持って見

が含まれています。私はrunat属性(runat="server")を設定すると問題を解決すると思います。

私がテーブルを持っていたことを除いて、少なくともそれは私のやり方でした。私の階層の上にdivはありませんでした。テーブルをサーバー側で実行する(実際にはテンプレートのControlsコレクションにHtmlTableコントロールが追加されていることを意味します)、この問題を修正しました。サーバー側で実行するために、このテーブルの下に他のクライアント側要素を設定する必要はありません。一番上の要素だけがrunat属性を必要としました。レイアウトテンプレートはcorrecltyをレンダリングしたHTMLタグから

<%=Util.BaseUrl %> 

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

:以下を除去した後

関連する問題