通过RedirectAction传递模型为空

时间:2013-09-23 15:55:31

标签: c# asp.net-mvc entity-framework parameter-passing

  • 在我的主控制器中切换视图我只是从我的控制器调用另一个Action,但我传递的模型在传递后为null,并且事先不为null。

    public ActionResult Index(ViewModelViewImages model)
    {
        return RedirectToAction("ViewImages", new { passedModel = model });
    }
    
  • 在同一个控制器..

    public ActionResult ViewImages(ViewModelViewImages passedModel)
    {
        //passedModel.(WhateverMyAttributesAre) = null every time
    }
    

  • 但是我可以写出我的变量并且它们通过了很好的

        string pro = model.Prospects;
        string cnt = model.Countys;
        string twn = model.TownShips;
        string rng = model.Ranges;
        string sct = model.Sections;
    
        return RedirectToAction("ViewImages", new { idpro = pro , idcnt = cnt, idtwn = twn, idrng = rng, idsct = sct});
    
  • 在回归中,我会在其他动作中接收它们

        public ActionResult ViewImages(string idpro, string idcnt, string idtwn, string idrng, string idsct)
    

我一直在寻找几个小时,现在只遇到This Question还没有具体答案。

有充分的理由吗? /我做错了什么?

1 个答案:

答案 0 :(得分:2)

您没有传递“ViewModelViewImages”,而是传递new { passedModel = model } 只是通过模型,你应该没事。

public ActionResult Index(ViewModelViewImages model)
{
    return RedirectToAction("ViewImages",   model  );
}