具有Kendo UI Grid Object引用的Asp.Net MVC未设置为对象的实例

时间:2016-04-23 16:06:55

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我正在尝试使用BranchTypeViewModel创建BranchType。我使用Kendo MVC UI PopUp Grid来创建My BranchTypes。

这是代码:

BranchTypeModel.cs

public class BranchType
{

    [HiddenInput(DisplayValue = false)] 
    public int BranchTypeId { get; set; }

    [Required(ErrorMessage = "Branş tipi alanı girişi zorunludur!")]
    [DisplayName("Branş Tipi")]
    public string Type { get; set; }

    [HiddenInput(DisplayValue = false)] 
    public bool IsDeleted { get; set; }

    public virtual ICollection<Branch> Branches { get; set; } 
}

BranchTypeViewModel.cs

public class BranchTypeViewModel
{
    [HiddenInput(DisplayValue = false)]
    public int BranchTypeId { get; set; }

    [Required]
    [Display(Name = "Branş Tipi")]
    public string BranchType { get; set; }


    [HiddenInput(DisplayValue = false)]
    public bool IsDeleted { get; set; }
}

这是我的存储库CreateBranchType函数

    public void CreateBranchType(BranchTypeViewModel branchType)
    {

        var entity = new BranchType();

        entity.BranchTypeId = branchType.BranchTypeId;
        entity.Type = branchType.BranchType;

        context.BranchTypes.Add(entity);
        context.SaveChanges();

        branchType.BranchTypeId = entity.BranchTypeId;

    }

这是我的控制器CreateBranchType函数

        [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult CreateBranchType([DataSourceRequest]DataSourceRequest request,BranchTypeViewModel branchType)
    {

        if (branchType != null && ModelState.IsValid)
        {
            _repository.CreateBranchType(branchType);
        }


        return Json(new[] { branchType }.ToDataSourceResult(request, ModelState));

    }

这是我的BranchType视图

    @using Kendo.Mvc.UI



@(Html.Kendo().Grid<Domain.Entities.BranchTypeViewModel>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.BranchType);
    })
    .ToolBar(toolbar => toolbar.Create())
    .Editable(editable => editable.Mode(GridEditMode.PopUp))
    .Pageable()
    .Sortable()
    .Scrollable()
    .HtmlAttributes(new { style = "height:550px;" })
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(20)
        .Events(events => events.Error("error_handler"))
        .Model(model => model.Id(p => p.BranchTypeId))
        .Create(update => update.Action("CreateBranchType", "Admin"))
        .Read(read => read.Action("ReadBranchType", "Admin"))
        .Update(update => update.Action("EditBranchType", "Admin"))
        .Destroy(update => update.Action("DestroyBranchType", "Admin"))
    )
)
)

问题是,当尝试创建分支类型时,branchtype返回null并且存储库CreateBranchType函数返回异常,如下所示:

Object reference not set to an instance of an object.

所以问题是CreateBranchTypeView模型没有实例化。

我引用了kendo mvc ui popup grid example来创建它。

我该如何解决这个问题?

由于

0 个答案:

没有答案