如何重命名操作中的参数



我有一个操作:

 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)

最新更新