1

Hは、メニューdivを使用してマスターページを作成しました。ログインページとしてインデックスページを作成したので、マスターページに登録されているindex.aspxのログインコントロールを使用します。

ここで私の質問は、ユーザーがログインするまでマスターページにあるメニューdivを非表示にするにはどうすればよいですか。ユーザーがログインに成功すると、メニューdivがユーザーに表示されます。

4

3 に答える 3

1

このコードをMasterPageに入れました

               <% if (HttpContext.Current.User.Identity.IsAuthenticated ) { %>

                  <div>navigation html when is authenticated</div>

               <% } else { %>

              <div>navigation html when is NOT authenticated</div>

                <% } %>
于 2012-07-13T04:42:00.993 に答える
1

マスターページでは、次のようなことができます。

if (Request.IsAuthenticated)
{
    <p>Welcome back, @User.Identity.Name!</p>
}
else 
{
    <!-- Put login form here. -->
}
于 2012-07-11T17:42:00.620 に答える
-1

コンテンツページに@MasterTypeディレクティブを追加します。ディレクティブで、VirtualPath属性をマスターページの場所に設定します

次に、Master.FindControlを使用します

void Page_Load()
{
// Gets a reference to a TextBox control inside 
// a ContentPlaceHolder
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder = 
  (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder != null)
{
    mpTextBox = 
        (TextBox) mpContentPlaceHolder.FindControl("TextBox1");
    if(mpTextBox != null)
    {
        mpTextBox.Text = "TextBox found!";
    }
}

// Gets a reference to a Label control that not in 
// a ContentPlaceHolder
Label mpLabel = (Label) Master.FindControl("masterPageLabel");
if(mpLabel != null)
{
    Label1.Text = "Master page label = " + mpLabel.Text;
}

}

http://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx

于 2012-07-11T17:40:27.057 に答える