1

我有一个动作:

 public JsonResult IsAwesome(string value){...}

但在我的表单中,这个参数看起来像“ ViewModelName.SomePropValue ”,我不能在那里改变它。如何使其工作以使“ViewModelName.SomePropValue”中的值位于“ value ”操作参数中。

例如:

<input name="ViewModelName.SomePropValue" value="MYDATA" />

public JsonResult IsAwesome(string value){
      value=="MYDATA"; 
}
4

1 回答 1

2

一种方法是使用一个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)
于 2013-02-14T08:51:18.533 回答