【发布时间】:2017-10-02 14:30:53
【问题描述】:
我的第一个控制器:
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(personalInfoModel personalInfo)
{
if (ModelState.IsValid)
{
TempData["key"] = personalInfo.CNIC;
PersonalInfoViewModel pivm = new PersonalInfoViewModel();
pivm.AddNewRecord(personalInfo);
return RedirectToAction("Create", "Experience", new { key = personalInfo.CNIC});
}
return View();
}
我的第二个控制器代码是:
public ActionResult Create(string key)
{
if (filled == true)
{
TempData["alertMessage"] = "<script>alert('Fill it first!')</script>";
}
filled = true;
return View(key);
}
[HttpPost]
public ActionResult Create(experiencesModel experiences, string key)
{
filled = false;
ExperiencesViewModel evm = new ExperiencesViewModel();
evm.AddNewRecord(experiences, key);
return View();
}
我想将密钥从第一个控制器传递到我遇到错误的第二个控制器:
未找到视图“42201-09007860-1”或其主视图,或者没有视图引擎支持搜索到的位置。搜索了以下位置: ~/Views/Experience/42201-09007860-1.aspx ~/Views/Experience/42201-09007860-1.ascx ~/Views/Shared/42201-09007860-1.aspx ~/Views/Shared/42201-09007860-1.ascx ~/Views/Experience/42201-09007860-1.cshtml ~/Views/Experience/42201-09007860-1.vbhtml ~/Views/Shared/42201-09007860-1.cshtml ~/Views/Shared/42201-09007860-1.vbhtml
我该如何解决这个问题?我需要澄清从控制器到控制器的传递值。
【问题讨论】:
-
RedirectToAction 有第二个重载,它采用对象而不是 RouteValueDictionary。也许您的新 {} 被错误地识别为对象?尝试创建一个真正的 RouteValueDictionary。 msdn.microsoft.com/de-de/library/dd460311(v=vs.118).aspx
标签: c# asp.net .net asp.net-mvc