основанный на Session (UserType), отображать определенный div на странице ASP.NET MVC - PullRequest
0 голосов
/ 29 января 2010

У меня есть страница просмотра с двумя тегами DIV. If the session[UserType] = ‘Guest’, тогда мне нужно отобразить раздел Guest DIV.

Else
If session[userType] = ‘Logged’

, тогда мне не нужно отображать раздел Guest DIV.

<div id="Logged" >
    <div class="txtContent">
        <label for="product" class="Form_Label">product:<em>*</em></label> 
        <%= Html.DropDownList("product", " -- Select one -- ")%>
    </div>
</div>

<div id="Guest">
    <label for="DeliveryMethod">Delivery Method: </label>
    <select name="DeliveryMethod" id="Select1" style="width: 100px">
        <option value="email">Email</option>
        <option value="fax">Fax</option>
        <option value="mail">Mail</option>
    </select>
</div>

Ценю ваши ответы.

Спасибо

1 Ответ

1 голос
/ 29 января 2010

Похоже, вы могли бы сделать либо с JQuery или ParticalView.

Мне бы хотелось отобразить частичное представление в зависимости от точки принятия решения.

Помните, что на вашей странице не должно быть никакой логики, поэтому вы можете написать помощника, который примет решение за вас.

В качестве альтернативы вы можете визуализировать страницу, а затем вызвать метод jQuery, который вернет частичное представление на основе параметра, который вы ей отправили.

Если вам требуется код, пожалуйста, добавьте комментарий, а я его опубликую.

Редактировать

@ Рита, если вы счастливы, что HTML-код присутствует на странице, и вы хотите только скрыть / показать элементы div, то вот код для этого;

<input type="hidden" id="hdnSessionValue" value="<%=session[UserType]">

<div id="Guest">
    <label for="DeliveryMethod">Delivery Method: </label>
    <select name="DeliveryMethod" id="Select1" style="width: 100px">
        <option value="email">Email</option>
        <option value="fax">Fax</option>
        <option value="mail">Mail</option>
    </select>
</div>

Тогда у вас есть следующий jQuery;

<script language="javascript">
  $(document).ready( function () {
    if ( $('#hdnSessionValue').val() == "Guest")
      $('#Guest').show();
    else
      $('#Guest').hide();
  } );
</script>

Edit2

Исходя из количества HTML, которое вы должны скрыть / показать, я не думаю, что требуется обратная передача jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...