我正在使用ASP.net 4.5,MVC。
我理解如何做所有常用的MVC。
在我的导航栏中,我有一个小的下拉列表,允许用户更改" location"。 然后从下拉列表中选择一个新位置时,我需要告诉会话变量更新,然后重新加载它们所在的页面。
我可以想到3种方法:
实现此功能的简单方法是什么?当用户点击该位置时,我希望它立即改变 - 没有"提交"按钮说。
答案 0 :(得分:0)
我已经解决了这一问题,这就是为什么我会将其发布为 答案。
我写了如下视图:
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
@SessionHandler.UserSession.ValidFactories[SessionHandler.UserSession.SelectedFactoryIndex].Name
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
@for (var i = 0; i < SessionHandler.UserSession.ValidFactories.Count; i++)
{<li><a href = /Home/ChangeFactory?id=@i>@SessionHandler.UserSession.ValidFactories[i].Name</a></li>}
</ul>
</div>
这意味着我将下拉列表作为ID提交给主页控制器 ChangeFactory 操作/功能。
public ActionResult changeFactory(int id)
{
SessionHandler.UserSession.SelectedFactoryIndex = id;
return Redirect(Request.UrlReferrer.ToString());
}
更改会话,然后将用户返回到他们所在的位置。非常快。我知道这将推动历史&#34;在浏览器中,但它现在很好。如果您有解决方案,请发布其他解决方案。