我有一个MVC 4站点,左侧边栏上有一堆菜单链接。当用户登录时,他们将被定向到他们搜索某人的页面。一旦他们选择了某人并提交了表单,就会设置id
Cookie。
此id
确定是否启用了侧边栏菜单中的各种链接,因为它是这些链接所导致的许多操作的必需参数。菜单本身,因为它位于网站的每个页面上,都在_Layout partial:
<div id="contentwrapper">
<div id="left-menu">
@Html.Action("Display", "Menu", new { Area = "" })
</div>
<div id="mainbody">
<section>
@RenderBody()
</section>
</div>
<div id="footer">
</div>
</div>
Display
返回表示侧边栏菜单的局部视图。由于我在_Layout中渲染菜单侧边栏,我没有可以使用的模型。有没有什么办法可以让我的菜单部分视图没有使用cookie?
答案 0 :(得分:1)
我会使用隐藏字段和viewbag
Public ActionResult Index(){
ViewBag.id = // set your id initially
}
如果你的javascript / jquery还可以......
$(function(){
var myID = @Html.Raw(Json.Encode(ViewBag.id));
$('#hidID').val(myID);
});
HTML
<input type="hidden" name="hidID" id="hidID" />
然后..显示操作
Public ActionResult Display(int hidID){
// this will be current id,
// if id is reset , pass the new one to viewbag , jquery will reset hidden field on client
}