我有一个上看起来像这样的选项卡控件选项卡中渲染的局部视图内的一种形式:
@model USARAFSyncMVC.Areas.Event.Models.EventFullScaffoldModel
@using (Ajax.BeginForm("SaveMainEventDetails", "Event", new { area = "Event" },
new AjaxOptions { UpdateTargetId = "FormWrapper", OnComplete = "SetSuccessLabel", InsertionMode = InsertionMode.Replace },
new { method = "post" }))
{
@Html.Hidden("eventType", "1", new { id = "eventType" })
<div id="FormWrapper">
<hr />
<table border="0">
<tr>
<td>Title</td>
<td>@Html.TextBoxFor(model => model.Title, new { style = "width:300px" })
@Html.ValidationMessageFor(model => model.Title)</td>
</tr>
<tr>
<td>OPR</td>
<td> @Html.EditorFor(model => model.OPRID)</td>
</tr>
<tr>
<td>Organization</td>
<td> @Html.EditorFor(model => model.DomainID)</td>
</tr>
<tr>
<td>POC</td>
<td> @Html.EditorFor(model => model.POC)</td>
</tr>
<tr>
<td>Location</td>
<td>
@Html.EditorFor(model => model.LocationID)
</td>
</tr>
<tr>
<td>Dates</td>
<td>
<table>
<tr>
<th>@Html.LabelFor(m => m.StartDate)</th>
<th> @Html.LabelFor(m => m.EndDate)</th>
</tr>
<tr>
<td> @Html.EditorFor(m => m.StartDate)</td>
<td>@Html.EditorFor(m => m.EndDate)</td>
</tr>
</table>
<table id="DeployRedeployDiv">
<tr>
<th>Deploy</th>
<th>ReDeploy</th>
</tr>
<tr>
<td> @Html.EditorFor(m => m.EstimatedDeployDate)</td>
<td>@Html.EditorFor(m => m.EstimatedReDeployDate)</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>OSRs</td>
<td>
@(Html.Telerik()
.PanelBar()
.Name("PanelBar")
.HtmlAttributes(new { style = "width:300px;" })
.Items(o => o.Add().Text("Click").Content(@<text>
@Html.CheckBoxList("OprList",
x => x.OprList,
x => x.OPRID,
x => x.AltTitle,
x => x.EventOSRs, Position.Vertical)</text>).Expanded(false)))
</td>
</tr>
<tr>
<td>Purpose</td>
<td> @Html.TextBoxFor(model => model.Why, new { style = "width: 400px; height:200px" })</td>
</tr>
<tr>
<td>Background</td>
<td> @Html.TextBoxFor(model => model.What, new { style = "width: 400px; height:200px" })</td>
</tr>
<tr>
<td>Viewable</td>
<td> @Html.CheckBoxFor(model => model.Viewable)</td>
</tr>
</table>
<div>
<input class="t-button" type="submit" name="button" value="Save" />
</div>
</div>
}
这里是控制器:
[HttpPost]
public ActionResult SaveMainEventDetails(EventFullScaffoldModel model, string[] OprList, string eventType, string cbLoc, string cbOpr, string cbOrg)
{
if (OprList != null)
{
model.EventOSRs = miscRepository.GetOprsList().ToModel().Where(o => OprList.Contains(o.OPRID.ToString())).ToList();
}
model.Type = int.Parse(eventType);
model.LocationID = cbLoc;
model.OPRID = int.Parse(cbOpr);
model.DomainID = int.Parse(cbOrg);
eventRepository.Insert(model.ToDto());
return View();
}
这里是型号:
public partial class EventFullScaffoldModel
{
public Int32 EventID { get; set; }
[Required(ErrorMessage = "Required!")]
public String Title { get; set; }
[Required(ErrorMessage = "Required!")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}")]
public DateTime StartDate { get; set; }
[Required(ErrorMessage = "Required!")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}")]
public DateTime EndDate { get; set; }
[Required(ErrorMessage = "Required!")]
public String What { get; set; }
[Required(ErrorMessage = "Required!")]
public String Why { get; set; }
public Nullable<DateTime> Modified { get; set; }
public String ModifiedBy { get; set; }
public Nullable<DateTime> Created { get; set; }
public String CreatedBy { get; set; }
[UIHint("ActiveDirectoryLoadOnDemand"), Required]
public String POC { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM-dd-yyyy}")]
public Nullable<DateTime> EstimatedDeployDate { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM-dd-yyyy}")]
public Nullable<DateTime> EstimatedReDeployDate { get; set; }
public Nullable<Int32> TSCMISID { get; set; }
public Nullable<Int32> ReviewStatus { get; set; }
public int? Type { get; set; }
public String InactivityReason { get; set; }
public Boolean Viewable { get; set; }
public string OPRAltTitle { get; set; }
[UIHint("OprDropDown"), Required]
public int OPRID { get; set; }
[UIHint("OrgDropDown"), Required]
public int DomainID { get; set; }
[UIHint("LocationsLoadOnDemand"), Required]
public string LocationID { get; set; }
public string LocationTitle { get; set; }
public IList<OsrModel> EventOSRs { get; set; }
public IList<TargetAndEffectModel> EventTargetEffects { get; set; }
public IList<AssociationModel> EventAssociations { get; set; }
public IList<EventObjectiveModel> EventObjectives { get; set; }
public IList<StrategicObjectiveModel> EventTSOs { get; set; }
public IList<TaskModel> EventTasks { get; set; }
public IList<PaxModel> EventPaxBreakDowns { get; set; }
public IList<FundingModel> EventFundings { get; set; }
public IList<UnitModel> EventExecutingUnits { get; set; }
public IList<OsrModel> OprList { get; set; }
public IList<ObjectiveModel> ObjectiveList { get; set; }
public IList<StrategicObjectiveModel> StrategicList { get; set; }
public IList<OrgModel> OrgsList { get; set; }
}
模型从来没有得到验证,并直接通过控制器上的事务中运行。 这是为什么不工作?