我的帖子创建控制器操作有问题。 我使用FormViewModel作为操作参数,但它包含一个没有值(null)的SelectList属性。 我想知道是否可以绑定整个SelectList并在我的action参数中接收它的值。 FormViewModel中的其他属性(如int,string等)已正确填充。
public class ClienteFormViewModel
{
public SelectList Routes { get; set; }
...
[HttpPost]
public ActionResult Create(ClientFormViewModel clientForm)
{
clientForm.Routes //I'd like to have the SelectList but is null
...
@Html.DropDownListFor(model => model.Client.route, Model.Routes, new { @class = "form-control" })
我还试图做一个自定义模型绑定器(我不知道它是否正确)所以我为Routes属性创建了一个隐藏属性,我和#39;我试图在模型绑定器中读取它,但我只是得到System.Web.Mvc.SelectList而不是所需的对象。
@Html.HiddenFor(model => model.Routes)
request.Form.Get("Routes") //"System.Web.Mvc.SelectList" string
请注意,模型绑定器解决方案中的控制器Create Action如下:
public ActionResult Create([ModelBinder(typeof(ModelBinders.ClientCustomDataBinder))] ClientFormViewModel clientForm)