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 に答える