asp.net-mvc-4 – 重定向到动作,参数在mvc中始终为空
发布时间:2020-05-24 03:53:20 所属栏目:asp.Net 来源:互联网
导读:当我尝试重定向到动作时,我收到的参数始终为null?我不知道为什么会这样发生. ActionResult action1() { if(ModelState.IsValid) { // Here user object with updated data redirectToAction(action2, new{ user = user });
|
当我尝试重定向到动作时,我收到的参数始终为null?我不知道为什么会这样发生. ActionResult action1() {
if(ModelState.IsValid) {
// Here user object with updated data
redirectToAction("action2",new{ user = user });
}
return view(Model);
}
ActionResult action2(User user) {
// user object here always null when control comes to action 2
return view(user);
}
而且我有另一个疑问.当我使用路由访问动作时,我只能通过RouteData.Values [“Id”]获取值.路由的值不发送到参数. <a href="@Url.RouteUrl("RouteToAction",new { Id = "454" }> </a>
这里我想念任何配置?或任何我想念的东西 ActionResult tempAction(Id) {
// Here Id always null or empty..
// I can get data only by RouteData.Values["Id"]
}
解决方法你不能传递这样一个url中的复杂对象.你必须发送它的组成部分:public ActionResult Action1()
{
if (ModelState.IsValid)
{
// Here user object with updated data
return RedirectToAction("action2",new {
id = user.Id,firstName = user.FirstName,lastName = user.LastName,...
});
}
return view(Model);
}
还要注意,我已经添加了返回RedirectToAction,而不是仅在代码中显示的方法调用RedirectToAction. 但是一个更好的方法是只发送用户的id: public ActionResult Action1()
{
if (ModelState.IsValid)
{
// Here user object with updated data
return RedirectToAction("action2",});
}
return view(Model);
}
并且在您的目标操作中,使用此ID从该用户存储的任何地方检索用户(可能是数据库或某些东西): public ActionResult Action2(int id)
{
User user = GetUserFromSomeWhere(id);
return view(user);
}
一些替代方法(但我不推荐或使用一种)是在TempData中保留对象: public ActionResult Action1()
{
if(ModelState.IsValid)
{
TempData["user"] = user;
// Here user object with updated data
return RedirectToAction("action2");
}
return view(Model);
}
并在您的目标行动中: public ActionResult Action2()
{
User user = (User)TempData["user"];
return View(user);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在ASP .NET MVC 3中使用XSLT
- asp.net-mvc – ASP.NET MVC 3多个模型到单个表单
- ASP.NET异步方法问题
- 在ASP.NET MVC3中实现的示例项目插件jquery文件上传插件
- asp.net – 如何设置Thread.CurrentPrincipal以在整个应用程
- .net – 在生产环境中应该使用’Integrated Security = Tru
- asp.net – GET与POST真的很重要吗?
- asp.net成员资格 – 在Application_AuthenticationRequest设
- asp.net – 动态设置超链接控件的navigationurl属性内联
- asp.net webapi UseOAuthBearerAuthentication vs UseJwtBe
推荐文章
站长推荐
- asp.net-mvc – razor要求;在做什么时使用(Html.
- asp.net-mvc – ASP.NET MVC:无法在我的控制器中
- ASP.NET OutputCache和Cookies
- asp.net – 具有MVC的Sitecore’动态占位符’
- asp.net – HttpContext.Current不解析在MVC 4项
- asp.net-mvc – 用于子操作的ASP.NET MVC路由匹配
- asp.net-mvc-3 – 大于或等于今天日期验证注释在
- asp.net – 是否允许使用manifest.json的相对路径
- asp.net-mvc-3 – 在MVC3中使用自定义的IPrincip
- asp.net-mvc – 使用@ Html.Partial渲染usercont
热点阅读
