2012-02-14 11 views
0

ログインした後に、マスターページにusercontrolというポップアップログインがあります。コンテンツページの別のusercontrolを自動的に表示したいのですが、現在手動​​でページを更新すると表示されます。どのようにこれを達成することができます。ありがとう。ログイン後にUserControlが表示されるようにする

マスターページ - >ログインユーザーコントロール

View.aspx - View.aspx

上>ブックマークユーザーコントロール(ログイン後に表示されます)

ログインユーザーコントロールマスターページで

<asp:UpdatePanel ID="login" runat="server" UpdateMode="Conditional">  
      <ContentTemplate>  
       <asp:Panel ID="pnlLogin" runat="server"> 
     <asp:TextBox ID="txtpassword" runat="server" TextMode="Password </asp:TextBox> 
     <asp:Button ID="btbookmark" runat="server" Text="Login" OnClick="btbookmark_Click"/> 
      </asp:Panel> 
    <asp:Panel ID="pnlData" runat="server">Placeholder for bookmark data. Bookmark data goes here. 
</asp:Panel> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

ブックマークユーザーコントロール

<asp:TextBox ID="txtbookmark" runat="server"></asp:TextBox><br /> 
<asp:Button ID="btmark" runat="server" /> 

ブックマークのユーザーView.aspxのコントロールが表示されます。アップデートパネルを使用する必要がありますか?

答えて

0

ユーザーがログインしてからプロパティをtrueに設定するまで、コードビハインドでVisibleプロパティを登録してVisibleプロパティをfalseに設定することができます。ユーザーセッションオブジェクトが存在しない場合は、多くの処理を防ぐコードを追加する必要があります。

ASPX:背後

<%@ Register TagPrefix="control" TagName="UserBookmarks" Src="~UserBookmarks.ascx" %> 
<control:UserBookMarks ID="UserBookmarksCtrl" runat="server" Visible="false" /> 

コード:

// If user logged in 
UserBookmarksCtrl.Visible = True 

それとも、あなたが動的に[すなわち(セッションのようなものをコントロールを作成し、ユーザーがログインした後、自分のページに追加することができます"user"]が設定されています)。

+0

ページを更新するときにブックマークコントロールを表示するにはどうすればよいですか? – Aaron

+0

@AronプロパティVisibleをtrueに設定する前に、!IsPostBackをチェックしている可能性があります。また、ページライフサイクル、およびPage_Load、Page_LoadComplete、Page_PreRenderなどの自動ワイヤードイベントを認識してください。これらは通常、ページ、マスターページ、ページ内のユーザーコントロール、マスターページ内のユーザーコントロールと呼ばれます。また、コントロールに接続されたイベントは、コントロールが特定のページに表示される順序によって異なります。コードを見ることなく、何が起こっているのかを判断するのは難しいです。 – Candide

+0

セッションを作成するmasterpageのlogin usercontrolが私の問題のように聞こえるように聞こえるのは、私がvisibleに変更したいページブックマークコントロールの後に実行されるということです。提案? – Aaron

関連する問題