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

我想知道,有什么技术可以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中传递学生模型吗?


手掌心
浏览 625回答 3
3回答

慕斯709654

使用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重定向的常用方法)

阿波罗的战车

只需调用不需要的动作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);    }
打开App,查看更多内容
随时随地看视频慕课网APP