2017-03-21 3 views
0

以下は、masteruページ内のfileuploadでレポートするための私のlistitemです。ログインページ、fileupload、およびレポートページがコンテンツページとして必要ですユーザーは私がファイルのアップロードとレポートの両方を非表示にする必要があり、一度彼の役割に基づいてユーザーのログインを非表示にする必要があります私はファイルのアップロードとレポートの両方を表示する必要があります。指定は、私は私がマスターページasp.netでユーザーログインに基づいてマスターページのlistitemsを非表示にする方法C#

<div class="menu"> 
    <ul> 
    <%-- <li class="navigation_first_item"><a href="Home.aspx">Home</a></li>--%> 
    <li><a href="FileUpload.aspx">File Upload</a></li> 
    <li><a href="Reports.aspx" id="Rpf" runat="server">Reports</a></li> 
    </ul> 
</div> 

答えて

1
<div class="menu"> 
       <ul> 
        <%-- <li class="navigation_first_item"><a href="Home.aspx">Home</a></li>--%> 
        <li id="MenuFileUpload" runat="server"><a href="FileUpload.aspx">File Upload</a></li> 
        <li id="MenuReports" runat="server"><a href="Reports.aspx" id="Rpf" runat="server">Reports</a></li> 
       </ul> 
       </div> 
をこの コードを行うことができますthis.howを行う必要があり、ログイン時のユーザーの役割に基づいたファイルのみをupload.So表示する必要があり、ユーザーでありますマスターページ .csファイルに

uは同じようPageLoad機能で呼び出すことができます。

MenuFileUpload.Visible = false; 
MenuReports.Visible = false; 

・ホープこのヘルプ!

+0

これらのIDをそれぞれの.csページのコードに渡すことができません。あなたのmasterpage.csの – abc

+0

に上記のコードを配置する必要があります。 –

+0

私はその方法で試してみましたが、ログイン後のユーザーの役割に基づいて私は彼がユーザーの場合は、私は1つのタブを非表示にする必要があります私はレポートのページを非表示にする必要があり、彼はマネージャー私は両方のファイルのアップロードとレポートのページを表示する必要がログインする前に、アップロードと報告方法は私がこれを行うことができます – abc

2

master.csのコードの中に、特定のメニュー/ページに対するアクセス権があるかどうかを確認するメソッドを作成します。例えば:あなたのインライン(マスターページ/ menupage.aspx)で今

public bool HasRightsForSpecifiedMenu(string menuItemName) 
{ 
    string userLoggedIn=((Session["UserLoggedId"]!=null)?Session["UserLoggedId"].ToString():"0"); 
    string userType=((Session["UserType"]!=null)?Session["UserType"].ToString():"0"); 
    if(menuItemName=="fileupload"){ 
    if(userLoggedIn=="0" || userType!="Manager") 
     return false; 
    } 
    else if(menuItemName=="report"){ 
    if(userLoggedIn=="0" || !(userType=="NoramlUser" || userType=="Manager")) 
     return false; 
    } 
    return true; 
} 

は、HTMLは、メニュー項目をレンダリングできるようにするものを書く:

<div class="menu"> 
<ul> 
<% 
    If(HasRightsForSpecifiedMenu("fileupload")==true){ %> 
    <li id="MenuFileUpload" runat="server"><a href="FileUpload.aspx">File Upload</a></li> 
    <% } %> 

    <% 
    If(HasRightsForSpecifiedMenu("report")==true){ %> 
    <li id="MenuReports" runat="server"><a href="Reports.aspx" id="Rpf" runat="server">Reports</a></li> 
    <% } %> 
</ul> 
</div> 

あなたはログインしてセッション変数にUserLoggedInUserType状態を維持することができます成功コード。

+0

私はこれらのIDをそれぞれの.csページのコードに渡すことができません。上記のコードをコンテンツページまたはmasterpageに配置する必要があります – abc

+0

私はその方法で試しましたが、ログイン後にユーザーの役割に基づいて動作しません。私は彼がユーザーの場合は、1つのタブを非表示にする必要があります私はレポートのページを非表示にする必要があり、彼はマネージャー私は両方のファイルのアップロードとレポートのページを表示する必要がありますログイン前に私はファイルのアップロードとレポートを隠す必要があります – abc

+0

私はそれに応じて私の答えを更新しました。それをより明確にする必要がある場合は私にお知らせください。 – Rajendra

関連する問題