簡體   English   中英

如何將傳遞的列表參數值固定為0

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM