Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修复传递的列表参数值为0_C#_Asp.net Mvc_List - Fatal编程技术网

C# 如何修复传递的列表参数值为0

C# 如何修复传递的列表参数值为0,c#,asp.net-mvc,list,C#,Asp.net Mvc,List,我试图将一个值列表传递给另一个方法,但是一旦第二个方法被调用,列表就会丢失它的值 第一种方法: public ActionResult Create_Filter([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<CourseFilterViewModel> courseFilterVM) { var results = new List<Results

我试图将一个值列表传递给另一个方法,但是一旦第二个方法被调用,列表就会丢失它的值

第一种方法:

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创建过滤器([DataSourceRequest]DataSourceRequest请求,[Bind(Prefix=“models”)]IEnumerable courseFilterVM)
{
var结果=新列表
{
新结果{CourseNumber=“100”,CourseTitle=“测试标题”,CourseSubject=“主题测试”}
};
返回RedirectToAction(“TestView”、“Filter”、新的{results});
}
第二种方法:

public ActionResult TestView(List<Results> results)
    {
        //results value here is 0               

        return null;
    }
public ActionResult测试视图(列出结果)
{
//这里的结果值是0
返回null;
}

我希望输出:CourseNumber=“100”、CourseTitle=“Test Title”、CourseSubject=“Subject Test”)

当您执行重定向到操作时,参数作为查询字符串传递,因此您无法传递整个对象,请参见此问题:
试试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;
 }
public ActionResult创建过滤器([DataSourceRequest]DataSourceRequest请求,
[Bind(Prefix=“models”)]IEnumerable courseFilterVM)
{
var结果=新列表
{
新结果{CourseNumber=“100”,CourseTitle=“测试标题”,
CourseSubject=“主题测试”}
};
TempData[“结果”]=结果;
返回重定向到操作(“测试视图”、“过滤器”);
}
公共操作结果TestView()
{
if(TempData[“结果”]!=null){
//做点什么
}
回报一切;
}

see@crmckain,你又问了同样的问题。我已经回答了你的问题。请检查一下@TanvirArjel我尝试了一种不同的方法,得到了不同的结果,所以我认为应该提出另一个问题。好吧!知道了。让我看看我们能为你做些什么。别担心,不管怎样,它都起作用了。谢谢你的帮助