Ree*_*ena 1 asp.net-mvc asp.net-mvc-5
发布后我得到模型中的列表为空我的模型有一个属性,它是 vwLog 的列表。
public class CreateLogViewModel
{
public List<vwLog> LogData;
}
Run Code Online (Sandbox Code Playgroud)
鉴于我使用该模型并使用 foreach 循环来分配文本控件中的值
@model CreateLogViewModel
@using (Html.BeginForm("CreateLog", "Log", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
foreach (var item in Model.LogData)
{
<table>
<tr>
<td>
@Html.HiddenFor(modelItem => item.LogID)
@Html.TextBoxFor(modelItem => item.AgencyBillingCode)
</td>
<td>
@Html.TextBoxFor(modelItem => item.LicenseNumber)
</td>
</tr>
</table>
}
<div class="col-xs-12" align="center">
<input class="btn btn-default" type="submit" name="Submit" value="Save" id="Submit">
</div>
}
Run Code Online (Sandbox Code Playgroud)
我的控制器是
在 Get 方法中,我正在分配 LogData 对象中的值,该对象是 vwlog 的集合。
public ActionResult CreateLog(CreateLogViewModel model)
{
model.LogData = GetDate();
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
我更新了屏幕上列表的一些值并尝试保存它,但我在 Post 中得到 model.LogData null。
[HttpPost]
public ActionResult CreateLog(CreateLogViewModel model, string submit)
{
if (model.LogData != null)
{
do this...
}
}
Run Code Online (Sandbox Code Playgroud)
我更新了屏幕上列表的一些值并尝试保存它,但我在 Post 中得到 model.LogData null。模型不为空,但集合对象为空。请让我知道我错在哪里。
MVC 模型绑定器不适用于类字段:
public class CreateLogViewModel
{
// This is a field
public List<vwLog> LogData;
}
Run Code Online (Sandbox Code Playgroud)
您必须使用属性:
public class CreateLogViewModel
{
// This is a property
public List<vwLog> LogData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
注意:您还需要确保您的
vwLog类型具有公共读写属性才能工作。
| 归档时间: |
|
| 查看次数: |
4951 次 |
| 最近记录: |