MVC - 使用 Viewbag 变量来确定部分视图不起作用
Posted
技术标签:
【中文标题】MVC - 使用 Viewbag 变量来确定部分视图不起作用【英文标题】:MVC - Using Viewbag variable to determine Partial View not working 【发布时间】:2015-06-01 01:04:29 【问题描述】:我想设置一个 ViewBag 变量(标志)来确定在我的共享布局视图中显示哪个局部视图。部分是一组图标。单击“更多”图标时,我想用一组不同的菜单图标交换不同的部分。在布局javascript中设置“更多”图标点击代码:
$(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>
发生的事情是“其他”逻辑永远不会发生,即使我可以在单击“更多”图标时在控制器操作中设置 Viewbag 变量的位置中断。
【问题讨论】:
(bool?)ViewBag.arrowClick
的评估结果是什么? @if (true)
呢?
不确定您的意思。我怎么知道它的评估结果是什么?
对不起 - 这是错误的......愚蠢的错误......在 Index 操作中将 var 设置为 false 并忘记了它。覆盖我之前的设置。
【参考方案1】:
我的错...错过了我之前设置的一组 Viewbag 变量。
【讨论】:
以上是关于MVC - 使用 Viewbag 变量来确定部分视图不起作用的主要内容,如果未能解决你的问题,请参考以下文章