Asp.net mvc 在操作方法和视图上显示之间传递变量?
我有一个如下所示的控制器Asp.net mvc 在操作方法和视图上显示之间传递变量?,asp.net-mvc,Asp.net Mvc,我有一个如下所示的控制器 [HttpPost] public JsonResult Index(string number) { .... ServiceReference1.WebsiteInterfaceSoapClient APITest = new ServiceReference1.WebsiteInterfaceSoapClient();
[HttpPost]
public JsonResult Index(string number)
{
....
ServiceReference1.WebsiteInterfaceSoapClient APITest = new ServiceReference1.WebsiteInterfaceSoapClient();
List<ServiceReference1.Student> ListStudents = APITest .CheckIDStudent("xxxxxxxxxxxxx", number).ToList();
....
}
[HttpPost]
公共JsonResult索引(字符串编号)
{
....
ServiceReference1.WebsiteInterfaceSoapClient APITest=新的ServiceReference1.WebsiteInterfaceSoapClient();
List ListStudents=APITest.CheckIDStudent(“xxxxxxxxxxxx”,number.ToList();
....
}
我有一个这样的方法
[HttpPost]
public async Task<ActionResult> ValidateS(StudentsDetails userDetails, string marksPoint)
{
....
}
[HttpPost]
公共异步任务验证(StudentsDetails用户详细信息、字符串标记点)
{
....
}
如何将
列表学生
上的所有数据像(列表学生[0].ID,列表学生[0].Name…
一样传递到验证
方法并在视图
上显示它们?您不能为[HttpPost]
操作执行重定向功能。因此,您必须将验证
操作方法更改为[HttpGet]
。并使用TempData
功能
[HttpPost]
public JsonResult Index(string number)
{
ServiceReference1.WebsiteInterfaceSoapClient APITest = new ServiceReference1.WebsiteInterfaceSoapClient();
List<ServiceReference1.Student> ListStudents = APITest .CheckIDStudent("xxxxxxxxxxxxx", number).ToList();
TempData["studentList"] = ListStudents;
}
[HttpGet]
public async Task<ActionResult> ValidateS(StudentsDetails userDetails, string marksPoint)
{
List<ServiceReference1.Student> studentList = TempData["studentList"] as List<ServiceReference1.Student>;
}
[HttpPost]
公共JsonResult索引(字符串编号)
{
ServiceReference1.WebsiteInterfaceSoapClient APITest=新的ServiceReference1.WebsiteInterfaceSoapClient();
List ListStudents=APITest.CheckIDStudent(“xxxxxxxxxxxx”,number.ToList();
TempData[“studentList”]=ListStudents;
}
[HttpGet]
公共异步任务验证(StudentsDetails用户详细信息、字符串标记点)
{
将studentList=TempData[“studentList”]列为列表;
}
您不能为[HttpPost]
操作执行重定向功能。因此,您必须将验证
操作方法更改为[HttpGet]
。并使用TempData
功能
[HttpPost]
public JsonResult Index(string number)
{
ServiceReference1.WebsiteInterfaceSoapClient APITest = new ServiceReference1.WebsiteInterfaceSoapClient();
List<ServiceReference1.Student> ListStudents = APITest .CheckIDStudent("xxxxxxxxxxxxx", number).ToList();
TempData["studentList"] = ListStudents;
}
[HttpGet]
public async Task<ActionResult> ValidateS(StudentsDetails userDetails, string marksPoint)
{
List<ServiceReference1.Student> studentList = TempData["studentList"] as List<ServiceReference1.Student>;
}
[HttpPost]
公共JsonResult索引(字符串编号)
{
ServiceReference1.WebsiteInterfaceSoapClient APITest=新的ServiceReference1.WebsiteInterfaceSoapClient();
List ListStudents=APITest.CheckIDStudent(“xxxxxxxxxxxx”,number.ToList();
TempData[“studentList”]=ListStudents;
}
[HttpGet]
公共异步任务验证(StudentsDetails用户详细信息、字符串标记点)
{
将studentList=TempData[“studentList”]列为列表;
}
为了澄清,您想将列表学生
提交到验证()
?您的视图中的模型是什么?从索引
变量列表学生
存储在会话或tempData中,并将更改为HttpGet
验证
操作,如果您重定向到其他内容,则可以读取。或者另一种方法是在索引上发布后,从该索引操作获取数据,然后再次在另一个操作中发布,该操作为ValidateS,但您必须更改表单操作或使用ajax。为了澄清这一点,您想将列表学生
提交到ValidateS()
?您的视图中的模型是什么?从索引
变量列表学生
存储在会话或tempData中,并将更改为HttpGet
验证
操作,如果您重定向到其他内容,则可以读取。或者另一种方法是,在发布到索引之后,从这个索引操作中获取数据,然后再次发布到另一个操作中,该操作是验证的,但您必须更改表单操作,或者可以使用ajax。