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我尝试了一种不同的方法,得到了不同的结果,所以我认为应该提出另一个问题。好吧!知道了。让我看看我们能为你做些什么。别担心,不管怎样,它都起作用了。谢谢你的帮助