我正在构建一个 ASP.NET MVC3 应用程序。我有 2 个视图;
- 列表项包含一个网格
- 详细信息视图包含一个下拉列表(组合框)
当用户尝试选择以前在列表视图中选择的项目时,我需要在详细信息视图中提醒用户。换句话说,网格应该包含唯一的项目
实现服务器端业务逻辑验证的最佳方式是什么?
模型:
public class AllocatedResource
{
public virtual Project Project { get; set; }
public virtual DateTime StartDate { get; set; }
public virtual DateTime EndDate { get; set; }
}
列表显示:
@(Html.Telerik().Grid(Model.AllocatedResources)
.Name("gridAllocatedProject")
.DataKeys(keys =>{keys.Add(p => p.Id);})
.Columns(columns =>
{
columns.Bound(p => p.Id).Visible(false);
columns.Bound(p => p.Project.Name);
columns.Bound(p => p.Project.ProjectManager).Title("Project Manager");
columns.Bound(p => p.StartDate).Width(80).Format("{0:d}");
columns.Bound(p => p.EndDate).Width(80).Format("{0:d}");
})
详情查看:
@Html.Label("Project: ")
@(Html.Telerik().ComboBox().Name("Project")
.BindTo(new SelectList(Model.AllProjects, "Id", "Name"))
.Value(Model.AllocatedResource.Project.Id.ToString()))
@Html.Label("Start Date: ")
@(Html.Telerik().DatePicker().Name("StartDate")
.Value(Model.AllocatedResource.StartDate))
@Html.Label("End Date: ")
@(Html.Telerik().DatePicker().Name("EndDate")
.Value(Model.AllocatedResource.EndDate))