2009-07-07 8 views
0

私はこの問題を抱えています。 1つの「マスター」ページに1つの「ログイン」リンクボタンと1つの「ユーザーリスト」リンクボタンがあります。ユーザーがログインして「UserList」リンクボタンをクリックすると、上記のマスターページを持つUserList Pageが開きます(これは達成済みです)。LinkBut​​tonクリックイベント

ユーザーがログインしていない場合に「UserList」をクリックすると、「ログイン」リンクボタンのクリックが呼び出されます。どうすればこれを達成できますか?

<asp:linkbutton id="LinkButtonLogin" runat="server" 
    text="Login" onclick="LinkButtonLogin_Click"></asp:linkbutton> 

を作成します。

LinkBut​​tonLoginさんのonclickイベントのイベントハンドラを定義します。マスターページのHTMLで

..

答えて

0

はこれを試してみてください助けてください表示されていないダミーのボタン。その後、ModalPopupExtenderため、ButtonInvisibleLinkBut​​tonLoginからModalPopupExtender制御のTargetControlIDを変更。これは、ModalPopupExtenderを効果的にコードから隠すことができます。 マスターページの分離コードで

<asp:button id="ButtonInvisible" runat="server" style="display: none;" /> 

:それを行うには

protected void Page_Load(object sender, EventArgs e) 
{ 
    /*    
     This adds a client-side event to your HyperLink control that mimics 
     LinkButtonLogin's onclick event, but ONLY if the current user is not 
     logged in. 
    */ 
    if (!UserIsLoggedIn()) 
    { 
     HyperLinkUserList.Attributes.Add("onclick", 
      "document.getElementById('" + 
       LinkButtonLogin.ClientID + "').click();"); 
    } 
} 

protected void LinkButtonLogin_Click(object sender, EventArgs e) 
{ 
    // check if the user is logged in.  
    if (!UserIsLoggedIn()) 
    {   
     // show the modal login window 
     ModalPopupExtender.Show(); 
    } 
    else 
    { 
     /* 
      This assumes that you always want a user to 
      go to the UserList page upon being logged in. 
      You can add some code here to redirect to 
      different pages based on certain criteria. 
     */ 
     Response.Redirect("userlist.aspx"); 
    } 
} 
+0

どうすればいいのですか?LinkBut​​tonLoginAndUserList_Click(オブジェクト送信者、EventArgs e).. im new asp.net .. –

+0

私はurソリューションが動作していると思いますが、 –

+0

私の問題は別のものです。私に説明させてください。ログインのために私はAjax Modal Popup Extenderを使用しています。ログインをクリックすると、小さなログイン画面が表示されます。コード: –

0

一つの方法は、ユーザーがクリックログインページをトリップするweb.configファイル内の許可セクションを追加することですアプリの理にかなっている場合、あなたも非ログイン・Iからユーザーリストのリンクを非表示にすることができた場合は

<location path="UserList.aspx"> 
    <system.web> 
     <authorization> 
      <deny users="?"/> 
     </authorization> 
    </system.web> 
</location> 

:UserListのリンクとユーザーがログインしていませんnユーザーには<asp:LoginView>コントロールを使用します。

+0

私の問題は別のものです。私に説明させてください。 ログイン用Ajax Modal Popup Extenderを使用しました。ログインをクリックすると、小さなログイン画面が表示されます。コードは次のとおりです。 ここで、LinkBut​​ton1はログインボタンです。 ユーザーが「ユーザーリスト」をクリックしてもログインしていないときにこの画面を再度表示したいのですが、 –

+0

誰も私のshudに何を伝えることができますか? –

+0

と私はそれが不適切になるいくつかのボタンと一緒に行くので、私はUserListボタンを非表示にしたくない。それは私がこの方法で使っている理由です。 –

関連する問題