我有MVC3表格。我的源代码如下所示:
<input id="Status_RowKey" name="Status.RowKey" size="10" type="text" value="" />
<select class="editor-select" id="StatusDescription" name="Status.Description"style="width: 99%">
<option value="ABC">abc</option>
<option value="DEF">def</option>
</select>
问题是看起来Status.Description的价值永远不会被发回。它只是NULL,表单上的所有其他值都被发回。我改变它看起来改变的值但从未被发送。当它是一个选择时我是否必须做一些不同的事情来返回所选的值?
答案 0 :(得分:1)
您始终可以使用var myValue = Request.Form["Status.Description"]
答案 1 :(得分:0)
假设您有以下视图模型(如果没有,则可以定义它们):
public class StatusViewModel
{
public string RowKey { get; set; }
public string Description { get; set; }
}
以及POST此表单的控制器操作:
[HttpPost]
public ActionResult Edit([Bind(Prefix = "Status")]StatusViewModel model)
{
// model.RowKey and model.Description will be correctly bound here
...
}
您还可以使用环绕视图模型:
public class SomeViewModel
{
public StatusViewModel Status { get; set; }
}
然后:
[HttpPost]
public ActionResult Edit(SomeViewModel model)
{
// model.Status.RowKey and model.Status.Description will be correctly bound here
...
}