MVC使用参数传递数据与方法控制器

时间:2014-10-30 13:25:20

标签: c# asp.net-mvc asp.net-mvc-4 controllers viewbag

如果有可能,我希望看到背后的代码,因为我需要将我_errorId带来的属性Try Catch传递给我的View Index

    public class PrincipalController : Controller
    {
      **private int _errorId;**        

      public ActionResult Index()
      {            
        ViewBag.HomeViewModel =  **_errorId** ;

        return View();
      }

      [HttpPost]
      public ActionResult Index(Cadastro cadastro)
      {
        try
        {
            //something
            cadastro.save();
            return RedirectToAction("Index");                
        }
        catch (Exception ex)
        {
            **_errorId = 1;**
            return RedirectToAction("Index");
        }
      }
}

我有一个Controller,其中包含名为_errorId的属性,当我的ViewBag返回相同的错误时,我有一个获取此值并将其放入try catch,我将我的属性_errorId放在我的Post Methods和他们中,当我收到错误号码时,我将_errorId设置为此错误的号码,我需要将此号码放入我在ViewBag

中的Index();

1 个答案:

答案 0 :(得分:0)

它不会更简单吗?

public class PrincipalController : Controller
{
  public ActionResult Index()
  {
    return View();
  }

  [HttpPost]
  public ActionResult Index(Cadastro cadastro)
  {
    try
    {
        //something
        cadastro.save();
    }
    catch
    {
        ViewBag.ErrorId = 1;
    }
    return View(cadastro);
  }
}

请记住,RedirectToAction需要花费一些处理时间。