[英]How to fix passed list parameter value being 0
我正在嘗試將值列表傳遞給另一個方法,但是一旦調用第二個方法,該列表就會丟失它的值。
第一種方法:
public ActionResult Create_Filter([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<CourseFilterViewModel> courseFilterVM)
{
var results = new List<Results>
{
new Results {CourseNumber = "100", CourseTitle = "Test Title", CourseSubject = "Subject Test"}
};
return RedirectToAction("TestView", "Filter", new {results});
}
第二種方法:
public ActionResult TestView(List<Results> results)
{
//results value here is 0
return null;
}
我希望輸出:CourseNumber =“ 100”,CourseTitle =“測試標題”,CourseSubject =“主題測試”)
當您執行重定向到操作時,該參數作為查詢字符串傳遞,因此您無法傳遞整個對象,請參見以下問題: 在redirecttoaction中傳遞對象
嘗試使用TempData。 數據將結轉至一個重定向。
public ActionResult Create_Filter([DataSourceRequest] DataSourceRequest request,
[Bind(Prefix = "models")]IEnumerable<CourseFilterViewModel> courseFilterVM)
{
var results = new List<Results>
{
new Results {CourseNumber = "100", CourseTitle = "Test Title",
CourseSubject = "Subject Test"}
};
TempData["results"] = results;
return RedirectToAction("TestView", "Filter");
}
public ActionResult TestView()
{
if(TempData["results"] != null) {
//do something
}
return whatever;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.