如何将模型和另一个参数传递给视图

时间:2012-05-05 15:51:22

标签: c# asp.net-mvc-3 parameters model viewmodel

我可能已经这样做过了......我可能只是遗漏了一些简单的东西,但基本上我只是希望能够做到这一点......

public ActionResult ContinueProcess(Model m, int id){


}

我只想同时传递模型和另一个参数。有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

使用ViewModel

public class MyViewModel {
    public Model MyModel {get;set;}
    public int ParameterId {get;set;}
}

用作视图模型,

或使用ViewBag

ViewBag.ParameterId= id;

答案 1 :(得分:1)

我当然会创建一个 ViewModel 来处理这个

public class ContinueProcessViewModel
{
   public int ID { set;get;}
   public Model ContinueProcess { set;get;}
}

在get action方法'

中返回此ViewModel
public ActionResult ContinueProcess(int id)
{
  ContinueProcessViewModel objVM=new ContinueProcessViewModel();
  objVm.ID=id;
  return View(objVM);
}

在您的视图中,有一个HTMLelement(文本框/隐藏)来保存此

的值
@Html.HiddenFor(x=>x.ID)

现在你应该能够在你的httppost动作方法中加入这个

[HttpPost]
public ActionResult ConitnueProcess(ContineProcessViewModel objVM)
{
  //Check objVm.ID here
}