为了账号安全,请及时绑定邮箱和手机立即绑定

我们可以在RedirectToAction中将模型作为参数传递吗?

我们可以在RedirectToAction中将模型作为参数传递吗?

手掌心 2019-10-21 10:02:00
我想知道,有什么技术可以Model作为参数传递给RedirectToAction例如:public class Student{    public int Id{get;set;}    public string Name{get;set;}}控制者public class StudentController : Controller{    public ActionResult FillStudent()    {        return View();    }    [HttpPost]    public ActionResult FillStudent(Student student1)    {        return RedirectToAction("GetStudent","Student",new{student=student1});    }    public ActionResult GetStudent(Student student)    {        return View();    }}我的问题-我可以在RedirectToAction中传递学生模型吗?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

使用TempData


表示仅在一个请求到下一个请求之间存在的一组数据


[HttpPost]

public ActionResult FillStudent(Student student1)

{

    TempData["student"]= new Student();

    return RedirectToAction("GetStudent","Student");

}


[HttpGet]

public ActionResult GetStudent(Student passedStd)

{

    Student std=(Student)TempData["student"];

    return View();

}

另一种方法 使用查询字符串传递数据


return RedirectToAction("GetStudent","Student", new {Name="John", Class="clsz"});

这将生成一个GET请求,例如 Student/GetStudent?Name=John & Class=clsz


确保您要重定向到的方法已装饰,[HttpGet]因为上面的RedirectToAction将发出带有HTTP状态代码302 Found的GET请求(执行url重定向的常用方法)


查看完整回答
反对 回复 2019-10-21
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

只需调用不需要的动作redirect to action或new模型的关键字即可。


 [HttpPost]

    public ActionResult FillStudent(Student student1)

    {

        return GetStudent(student1); //this will also work

    }

    public ActionResult GetStudent(Student student)

    {

        return View(student);

    }


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 624 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信