我有一个操作:
public JsonResult IsAwesome(string value){...}
但在我的表单中,这个参数看起来像"ViewModelName.SomePropValue",我不能在那里更改它。如何使其工作,以便"ViewModelName.SomePropValue"中的值位于"值"操作参数中。
例如:
<input name="ViewModelName.SomePropValue" value="MYDATA" />
public JsonResult IsAwesome(string value){
value=="MYDATA";
}
一种方法是使用FormModel
类,以便模型绑定器可以绑定到每个属性。。因此,在您的情况下,您的表单将采用ViewModel输入
class ViewModel
{
public FormModel FormModel{get;set;}
}
public class FormModel
{
public string SomePropValue{get;set;}
}
public void action(ViewModel FormViewModel)
另一个选项是使用局部视图。
在采用ViewModel的视图中,渲染部分:
@Html.RenderPartial("Form",Model.FormModel)
在渲染的空间视图中:
@Html.EditorFor(model=>model.SomePropValue);
这意味着你的行动现在可以采取一个FormModel
对象:
public void action(FormModel formModel)