2013-02-14 83 views
1

重命名参数我有一个动作:我怎样才能在行动

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

但在我的形式此参数看起来像“ViewModelName.SomePropValue”我不能有更改。 如何使其工作,以便'ViewModelName.SomePropValue'中的值位于''操作参数中。

例如:

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

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

您告诉我们您不能更改propvalue名称,也许您可​​以更改操作参数名称? – 2013-02-14 08:50:40

+0

你呢? 公共JsonResult IsAwesome(字符串ViewModelName.SomePropValue) – 2013-02-14 08:55:41

+0

哈哈,你是正确的,这将是“不可思议”:P – 2013-02-14 09:03:38

回答

2

一种方法是在你的情况所以使用FormModel类,以便模型绑定可以绑定到每个属性.. 您的形式将采取视图模型输入

class ViewModel 
{ 
    public FormModel FormModel{get;set;} 
} 
public class FormModel 
{ 
    public string SomePropValue{get;set;} 
} 
public void action(ViewModel FormViewModel) 

另一个选项是使用局部视图。

您认为采取的视图模型,渲染部分:

@Html.RenderPartial("Form",Model.FormModel) 

在渲染(ε2)的观点:

@Html.EditorFor(model=>model.SomePropValue); 

这意味着你的行动现在可以采取FormModel对象:

public void action(FormModel formModel) 
+0

它仍然没有给我做这件事的能力: 公共类FormModel { 公共字符串ViewModelName.SomePropValue {get; set;} } – 2013-02-14 08:59:44

+0

不,再次阅读我的答案.. – 2013-02-14 09:02:00

+0

特别是如果您不想使用PartialView – 2013-02-14 09:02:29