基于参数启用链接的侧栏的无Cookie呈现

时间:2013-01-10 20:54:51

标签: asp.net-mvc cookies asp.net-mvc-4 partial-views

我有一个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?

1 个答案:

答案 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
}