0
模型联编程序无法在我的动作参数中实例化子对象 - PublicationSchedule
始终为空,Id
,Name
,Region
填充为OK。任何人都可以提出为什么这可能是?ASP.NET MVC中的递归模型绑定失败
动作:
[HttpPost]
public ActionResult Post(ProductTemplateViewModel viewModel)
{
//...
}
这些模型结合:
public class ProductTemplateViewModel
{
[Required]
public string Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Region { get; set; }
[Required]
public PublicationScheduleViewModel PublicationSchedule { get; set; }
}
public class PublicationScheduleViewModel
{
[Required, StringArrayNotEmpty]
public string[] DaysOfWeek { get; set; }
[Required, Range(0, 23)]
public int HoursOfDay { get; set; }
[Required, Range(0, 59)]
public int MinutesOfHour { get; set; }
}
HTTP请求形式的数据:
id:gf
name:fg
region:Africa
daysOfWeek:Wednesday
hoursOfDay:3
minutesOfHour:4
形式:
<input type="text" id="id" name="id">
<input type="text" id="name" name="name">
<select id="region" name="region">
<option value="Africa" selected="selected">Africa</option>
</select>
<input type="checkbox" id="chk(Monday)" name="daysOfWeek" value="Monday">
<input type="checkbox" id="chk(Tuesday)" name="daysOfWeek" value="Tuesday">
<select id="hoursOfDay" name="hoursOfDay">
<option value="0">00</option>
<option value="1">01</option>
</select>
<select id="minutesOfHour" name="minutesOfHour">
<option value="0" selected="selected">00</option>
<option value="1">01</option>
<option value="2">02</option>
</select>
什么是您的表单?请粘贴在这里。 – Mohayemin 2012-07-11 11:43:57
你可以发表你的实际视图代码,其中包含的形式?或者你直接“硬编码”所有的HTML?为什么不使用强类型视图和内置的HTML.helpers?顺便说一句,模型绑定器支持复杂的嵌套视图模型(并且内置的HTML.helpers支持这一点并生成正确的HTML),您只需要相应地命名输入:例如:'daysOfWeek'应该是'PublicationSchedule.daysOfWeek'等。 – nemesv 2012-07-11 12:53:58