0

我在 asp .net 中有以下母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="KezberProjectManager.master.cs" Inherits="KezberProjectManager.KezberProjectManager" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <!-- Le styles -->
    <link href="assets/css/bootstrap.css" rel="stylesheet"/>
    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet"/>

    <style type="text/css">
      body {
        padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
      }
    </style>
    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>

    <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="#">Test</a>
          <div class="nav-collapse collapse">
            <ul class="nav">
              <li class="active"><a href="#">Calendar</a></li>
              <li><a href="#">Boss Stuff</a></li>
              <li><a href="#contact">Contact</a></li>
            </ul>
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>

    <form id="form1" runat="server">
    <div>
       <div class="container">
       <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

       </asp:ContentPlaceHolder>
    </div> <!-- /container -->

    </div>
    </form>
      <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
   <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
    <script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
</body>
</html>

每个页面的导航都是这样的:

   <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="#">Test</a>
          <div class="nav-collapse collapse">
            <ul class="nav">
              <li class="active"><a href="#">Calendar</a></li>
              <li><a href="#">Boss Stuff</a></li>
              <li><a href="#contact">Contact</a></li>
            </ul>
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>

我想不通的是,如果管理员请求页面,我怎么能做到这一点,添加 Boss Stuff 链接?

就会话管理而言,一切都很好,我可以在我的代码中确定用户是否是管理员,我不知道只有当他在页面加载时是管理员时如何添加老板链接。

执行此操作的“最佳”或标准做法可能是什么?

谢谢

我的意思是,从字面上看,我如何从我的页面加载事件中添加指向我的导航的链接。我如何从 CS 转到 aspx?

4

1 回答 1

0

假设您正在使用 .Net 成员资格,如果您想在页面标记中执行此操作,则可以这样做:

<% if (Page.User.IsInRole("Admin"))
   { %>
       <a href="#">Boss Stuff</a>
 <% } %>
于 2013-01-30T18:27:52.873 回答