Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.NETC中基于用户登录隐藏母版页中的listitems#_C#_Jquery_Asp.net_Master Pages - Fatal编程技术网

C# 如何在asp.NETC中基于用户登录隐藏母版页中的listitems#

C# 如何在asp.NETC中基于用户登录隐藏母版页中的listitems#,c#,jquery,asp.net,master-pages,C#,Jquery,Asp.net,Master Pages,下面是我在母版页中的列表项,它们是文件上载和报告现在我有了一个登录页,文件上传和报告页面作为内容页面我的要求是在用户登录之前,我需要隐藏文件上传和报告,一旦用户根据其角色登录,我需要隐藏列表项,即如果用户的指定是经理,我应该显示文件上传和报告,如果指定是用户,我需要显示仅上传文件。因此,根据登录时的用户角色,我需要这样做。我如何才能做到这一点 母版页中的代码 <div class="menu"> <ul> <%-- <li class="navig

下面是我在母版页中的列表项,它们是文件上载和报告现在我有了一个登录页,文件上传和报告页面作为内容页面我的要求是在用户登录之前,我需要隐藏文件上传和报告,一旦用户根据其角色登录,我需要隐藏列表项,即如果用户的指定是经理,我应该显示文件上传和报告,如果指定是用户,我需要显示仅上传文件。因此,根据登录时的用户角色,我需要这样做。我如何才能做到这一点 母版页中的代码

<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>

希望这有帮助


希望这有帮助

在master.cs中的代码隐藏中,创建方法以检查用户是否具有特定菜单/页面的访问权限。e、 g:

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;
}
现在在内联(masterpage/menupage.aspx)中编写一些东西,以允许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>


您可以在登录成功代码中的会话变量中维护
UserLoggedIn
UserType
状态。

在master.cs中的代码隐藏中,创建方法以检查用户对特定菜单/页面的访问权限。e、 g:

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;
}
现在在内联(masterpage/menupage.aspx)中编写一些东西,以允许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>



您可以在登录成功代码中的会话变量中维护
UserLoggedIn
UserType
状态。

我不能将这些ID传递到相应的.cs页面后面的代码中。我应该将您的上述代码放在内容页面或主页的何处?我曾尝试过这种方式,但根据用户角色,它不起作用登录后,我需要隐藏一个选项卡,即如果他是用户,我应该隐藏报告页面;如果他是经理,我需要显示文件上载和报告页面;登录前,我需要隐藏文件上载和报告。我如何做到这一点?我已相应地更新了答案,请检查。如果需要进一步澄清,请告诉我。感谢您的回复,但我需要在登录前和登录后隐藏文件上载和报告选项卡。我需要根据此处的角色隐藏报告。我正在获取datatable中的数据,并且我认为datatable第4列是指定,其中有两个指定为经理和用户,因此如果(dt.rows.count>0)意味着我将进入if条件,我应该如何捕捉第四列值并隐藏选项卡?你能帮我解决这个问题吗?因为我是新手,请不要单独更新ans帖子1。你可能在会话变量中保持登录用户状态,所以在此处替换会话变量名称:session[“UserLogedIn”]2.若要从datatable获取指定,请执行以下操作:string des_u=dt.Rows[0][3]。ToString();我不能在代码中传递这些ID,这是各自的。cs页面我应该将您的上述代码放在内容页或母版页的何处我曾尝试过这种方式,但不起作用。此外,根据登录后的用户角色,我需要隐藏一个选项卡,即如果他是用户,我应该隐藏报告页面,如果他是经理,我需要显示bo文件上传和报告页面,在登录之前,我需要隐藏文件上传和报告。我如何做到这一点?我已经相应地更新了我的答案,请检查。如果需要进一步澄清,请告诉我。感谢您的回复,但我需要在登录之前和登录之后隐藏文件上传和报告选项卡。我需要根据角色隐藏报告这里我得到了datatable中的数据,我发现datatable第4列是名称,它有两个名称,分别是manager和user,所以如果(dt.rows.count>0)这意味着我将进入if状态。我该如何捕捉第四列值并隐藏选项卡?你能帮我解决吗?因为我是新来的。请不要单独更新ans帖子1。你可能在会话变量中保持登录用户状态,所以在此处替换会话变量名:会话[“UserLogeIn”]2.要从datatable获取名称,请执行以下操作:string des_uz=dt.Rows[0][3].ToString();我不能在代码中传递这些ID,这是各自的。cs页面我应该将上述代码放置在内容页或母版页中的何处。csi曾尝试过这种方式,但不起作用。此外,根据登录后的用户角色,我需要隐藏一个选项卡,即如果他是用户,我应该隐藏报告页面,如果他是manager我需要显示文件上传和报告页面,在登录之前,我需要隐藏文件上传和报告。我该怎么做?你可以完整地发布你的代码2文件。masterpage.aspx和masterpage.cs,我们来看看!我不能在代码中传递这些ID,这是各自的。cs页面。我应该把你上面的代码放在哪里帐篷页面或masterpage在您的masterpage.csi曾尝试过这种方式,但不起作用,而且基于登录后的用户角色,我需要隐藏一个选项卡,即如果他是用户,我应该隐藏报告页面,如果他是经理,我需要显示文件上载和报告页面,在登录之前,我需要隐藏文件上载和报告我这样做你可以发布你的代码完全2文件。masterpage.aspx和masterpage.cs,我们看看它!