我有包括在我的asp.net mvc4鉴于某些机型,所以我必须创建一个包含两个其他车型基本视图模型:
namespace MyNamespace.Models
{
public class CustomViewModel
{
public FirstTypeModel FirstViewModel { get; set; }
public SecondTypeModel SecondViewModel { get; set; }
}
}
和视图:
@model MyNamespace.Models.CustomViewModel
@using (Html.BeginForm("AddFields", "Configure", FormMethod.Post))
{
(...)
<div id="componentId">
@Html.LabelFor(m => m.FirstViewModel.SelectedCompTypeId, new { @id = "componentIdLabel" })
@Html.DropDownListFor(m => m.FirstViewModel.SelectedCompTypeId, Model.FirstViewModel.CompTypeItems, new { @name = "SelectedCompTypeId", @id = "componentType" })
</div>
(...)
<input id="submitAddComp" type="submit" value="@Resource.ButtonTitleAddComponent" />
}
在我的控制器:
public ActionResult AddFields(string param1, string param2, string param3, int selectedCompTypeId)
{
...
}
当提交按钮我得到selectedCompTypeId为无效点击(参数1,参数2和参数3正确传递),但如果我看下面的请求从控制器内具有正确的价值:
Request["FirstViewModel.SelectedCompTypeId"]
所以如何通过正确的参数给控制器,以selectedCompTypeId不为空?
注:其中只有一种模式,创建包含其他两个示范基地之前,它正常工作。 之前,兰巴表达式为m => m.SelectedCompTypeId代替米=> m.FirstViewModel.SelectedCompTypeId。