【发布时间】:2014-05-08 11:14:31
【问题描述】:
我在理解 asp.net mvc 中的查询字符串和路由概念时感到困惑,如果有人能提供帮助,我将不胜感激。
我的问题是:
我有一个登录页面,用户将在其中输入用户名、密码和 ID。成功登录后,我喜欢获取 ID 并将其传递到我的个人资料页面。现在个人资料页面与其他两个链接一起成为布局页面的一部分。
<nav class="main">
<ul class="menu" >
<li>@Html.ActionLink("Profile", MVC.Profile.Index(), new { Id = Request.QueryString["Id"].ToString() })</li>
<li>@Html.ActionLink("Configuration", MVC.Configuration.Index(),new { Id = Request.QueryString["Id"].ToString() })</li>
<li>@Html.ActionLink("Transaction", MVC.Transaction.Index(), new { Id = Request.QueryString["Id"].ToString() })</li>
</ul>
</nav>
在我的登录页面中,我使用以下代码将用户重定向到个人资料页面。
return RedirectToAction("Index", "Profile", new { Id = viewModel.Id });
现在我怎样才能将相同的值传递给配置和交易页面,它们只是布局页面上的操作链接。我想像下面这样使用 Request.QueryString:
new { Id = Request.QueryString["Id"].ToString()
但这是抛出对象引用异常。
我的路由如下所示:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional });
提前致谢。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-routing