0

我有一个 MVC 4 站点,它呈现一个左侧边栏,上面有一堆菜单链接。当用户登录时,他们会被定向到搜索某人的页面。一旦他们选择了某人并提交了表单,id就会设置一个 cookie。

id决定了侧边栏菜单中的各种链接是否启用,因为它是这些链接导致的许多操作的必需参数。菜单本身,因为它位于站点的每个页面上,所以在 _Layout 部分中设置:

<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 的情况下将参数获取到我的菜单部分视图?

4

1 回答 1

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
}
于 2013-01-10T21:07:17.433 回答