如何将下拉列表值从一个控制器发送到另一个控制器

本文关键字:控制器 一个 另一个 下拉列表 | 更新日期: 2023-09-27 18:18:00

我想将控制器的下拉列表选择值发送到另一个控制器

并恢复该值(我知道如何发送它),但我不知道如何恢复它

控制器1:

public class PosteController : Controller
{
    [HttpPost]
    public ActionResult Index(CandidateModel Id)
    {
       return RedirectToAction ("Inscription","Candidate",Id);
    }

public class CandidateController : Controller
{
    [HttpPost]
    public ActionResult Inscription()
    {
       ...........
    }

如何将下拉列表值从一个控制器发送到另一个控制器

方法一:

Using Object Route:

public class PosteController : Controller
{     
    [HttpPost]
    public ActionResult Index(CandidateModel Id)
    {
       return RedirectToAction ("Inscription","Candidate",new{ dropdownval=Id.val,Id });  
    }
public class CandidateController : Controller
{
    public ActionResult Inscription(int? dropdownval)
    {
       ...........
    }

方法2:

使用TempData

:

public class PosteController : Controller
{     
    [HttpPost]
    public ActionResult Index(CandidateModel Id)
    {
       TempData["Id"]=Id.val;
       return RedirectToAction ("Inscription","Candidate"); 
    }
public class CandidateController : Controller
{
    public ActionResult Inscription()
    {
      var id=TempData["Id"];
       ...........
    }

在上述示例中,Id.val是选中的下拉值。

可以使用TempData。

[HttpPost]
public ActionResult Index(CandidateModel Id)
{
   TempData["var"] = id;
   return RedirectToAction ("Inscription","Candidate",Id);
}
public ActionResult Inscription()
{
   var id = TempData["id"] as CandidateModel;
}