проверить состояние на странице site.master - PullRequest
3 голосов
/ 13 апреля 2011

У меня есть страница site.master в приложении asp, которая содержит меню div и выглядит следующим образом.

<div id="menu">
    <ul>
        <li class="first"><a href="sample.aspx">home</a></li>
        <li><a href="managerserviceshome.aspx">manager services</a></li>
        <li><a href ="employeeservicehome.aspx">employee services</a></li>
        <li><a href="myprojectshomepage.aspx">my projects</a></li>
    </ul>
</div>

Я хочу, чтобы часть служб менеджера была видна только в том случае, если конкретный сотрудник имеет в своем поле «Is_Manager» значение True в базе данных. В остальном этот тег должен быть невидимым. Как мне этого добиться ?? Как я могу проверить это условие здесь на этой странице site.master? пожалуйста, помогите.

Ответы [ 2 ]

6 голосов
/ 13 апреля 2011

Сделайте это внутри разметки.В коде, указанном при загрузке страницы, установите флаг Is_Manager и найдите его в базе данных.Затем в разметке сделайте это:

<% if(Is_Manager){%>
 <li><a href="ManagerServicesHome.aspx">Manager Services</a></li>
<%}%>
1 голос
/ 13 апреля 2011

Учитывая то, что вы уже предоставили ...

в файле cs для мастера:

protected bool IsVisible;
protected void Page_Load(object sender, EventArgs e){
  IsVisible = (bool)Session["isVisible"];
}

в aspx для главной страницы

<style>
  .manager { visibility = <%= (IsVisible) ? "visible" : "hidden" %>;}
</style>

<div id="menu">
    <ul>
        <li class="first"><a href="sample.aspx">home</a></li>
        <li class="manager"><a href="managerserviceshome.aspx">manager services</a></li>
        <li><a href ="employeeservicehome.aspx">employee services</a></li>
        <li><a href="myprojectshomepage.aspx">my projects</a></li>
    </ul>
</div>
...