[英]How to pass model from one Action method to another using RedirectToAction in asp.net MVC ? I am getting null model though I send a populated model
I have a class JobSeekerViewModel.我有一个 JobSeekerViewModel 类。 I want to Send it from Action method Index to Details.
我想将它从操作方法索引发送到详细信息。 but whenever I send I get null values.
但是每当我发送时,我都会得到空值。 but my model is populated.
但我的模型已填充。
public class JobSeekerViewModel
{
public user userJobSeeker { get; set; }
public employee employeeJobSeeker { get; set; }
}
}
index(login log1)
{
Return View(log1);
}
[HttpPost]
index (login log1)
{
JobSeekerViewModel js = new JobSeekerViewModel();
js.userJobSeeker = log1.userJobSeeker;
js.employeeJobSeeker = log1.employeeJobSeeker;
return Details(js);
}
Details(JobSeekeerViewModel js)
{
Return View(js);
}
Index索引
TempData["jobSeeker"] = jobSeeker;
Details详情
JobSeekerViewModel jobSeeker = (JobSeekerViewModel)TempData["jobSeeker"];
try this instead试试这个
index (JobSeekerViewModel js)
{
return RedirectToAction("Details", new{model = js});
}
This may help you, I hope you get the idea.这可能对你有帮助,我希望你能明白。
Index (login log1)
{
//get your JobSeekerViewModel and then use it.
return RedirectToAction("Details", new { model = jobSeekerViewModel });
}
Details(JobSeekerViewModel model)
{
return View(model);
}
When you use redirectToAction
the data is not preserved between the controller and the view and hence you get null
当您使用
redirectToAction
,数据不会保留在控制器和视图之间,因此您会得到null
Either use TempData
or call the method details()
directly instead of redirectToAction
要么使用
TempData
要么直接调用方法details()
而不是redirectToAction
Read this for examples : Can we pass model as a parameter in RedirectToAction?阅读此示例: 我们可以在 RedirectToAction 中将模型作为参数传递吗?
if your action is in the same controller you don't need to call RedirectToAction
.如果您的操作在同一个控制器中,则不需要调用
RedirectToAction
。
simply call action like:只需调用如下操作:
index (login log1)
{
JobSeekerViewModel js = new JobSeekerViewModel();
js.userJobSeeker = log1.userJobSeeker;
js.employeeJobSeeker = log1.employeeJobSeeker;
return Details(js);
}
To Send model from one action to another action -
将模型从一个动作发送到另一个动作 -
In Action to set model:在行动中设置模型:
TempData["myId"] = myIdToTransfer;
In another Action get model:在另一个 Action get 模型中:
String userID = TempData["myID"].ToString;
To send model from an action to view
将模型从操作发送到查看
In action to set model:在行动中设置模型:
ViewBag.myId = myIdToTransfer;
In View to get model:在 View 中获取模型:
@Html.ViewBag.myId
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.