使用MVC 3进行服务器端验证

时间:2011-04-11 21:34:38

标签: validation asp.net-mvc-3 telerik telerik-grid telerik-mvc

我正在构建一个ASP.NET MVC3应用程序。我有2个观点;

  1. 列表项包含网格
  2. 详细信息视图包含下拉列表(组合框)
  3. 当我们尝试选择先前在列表视图中选择的项目时,我需要在详细信息视图中提醒用户。换句话说,网格应包含唯一项

    实施服务器端业务逻辑验证的最佳方法是什么?

    型号:

    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))
    

0 个答案:

没有答案