我正在尝试使用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来创建它。
我该如何解决这个问题?
由于