2015-06-01 3 views
0

Я хотел бы установить переменную ViewBag (флаг), чтобы определить, какое частичное представление будет отображаться в моем общем представлении макета. Частичные - это набор значков. Когда нажимается значок «больше», я хочу поменять местами разные части с помощью другого набора значков меню. "больше" код значок нажмите устанавливается в макете JavaScript:MVC - Использование переменной Viewbag для определения Partial View не работает

$(function() { 

    $('#moreIcon').click(function() { 
     $.ajax({ 
      url: 'Home/LoadMoreIcons', 
      dataType: "html", 
      success: function (data) { 
      } 
     }); 
    }); 
}); 

Действие контроллера:

public EmptyResult LoadMoreIcons() 
{ 

    ViewBag.arrowClick = true; 
    return null; 

} 

Вид _layout (бритва) код:

<div id="headIcons"> 
    @if ((bool?)ViewBag.arrowClick == false) 
    { 
     @Html.Partial("mainIconsPartial") 
    } 
    else 
    { 
     @Html.Partial("moreIconsPartial") 
    } 
</div> 

Что происходит то, что логика «else» никогда не происходит, даже если я могу сломаться в точке, где переменная Viewbag устанавливается в действии контроллера при щелчке по значку «больше».

+0

Что делает '(bool?) ViewBag.arrowClick' оценить? Что относительно '@if (true)'? – Cheezmeister

+0

не уверен, что вы имеете в виду. Как я могу определить, что он оценивает? – MikeD

+0

извините - это было ложно ... глупая ошибка ... установите значение var в false в действие индекса и забыли его. Измените мой предыдущий набор. – MikeD

ответ

0

мой плохой ... пропустил набор переменной Viewbag, которую я ранее установил.

Смежные вопросы