0
这里是(略)的方法,其看起来如下:MVC - 无法传递参数与RedirectToAction
[HttpPost]
public ActionResult SearchForCompanies(FormCollection collection)
{
CompanySearch search = new CompanySearch();
search.CompanyList = CompanyData.GetList();
return this.RedirectToAction("SearchForCompanies", "Company", new {companySearch = search});
}
的方法,上述被重定向到下面的方法在同一个控制器:
[HttpGet]
public ActionResult SearchForCompanies(CompanySearch companySearch)
{
if (companySearch == null)
companySearch = new CompanySearch();
...
...
return View(companySearch);
}
在重定向上,SearchForCompanies的HTTPGet版本正在成功调用。但是,companySearch参数的值始终为NULL,即使在进行重定向调用时它有一个值。所以我不能正确传递参数。
您无法通过一个复杂的对象的方式。你可以使用'return RedirectToAction(“SearchForCompanies”,“Company”,search);'但是如果'CompanySearch'的任何属性包含复杂对象或集合的属性(它看起来像是你的情况),它会失败,总会有超出查询字符串限制并抛出异常的风险 –
谢谢。我应该知道,因为我之前遇到过这种情况。如果把它写成答案,我会接受它。 –