【发布时间】:2018-12-27 22:13:36
【问题描述】:
我在“剑道”网格下方处于内联编辑模式,它会执行 CRUD 但我刚刚编写了编辑。
但是当我在[HttpPost] 函数上设置断点时,ExternalUser 类的所有属性都为 Null。
@(Html.Kendo().Grid<DBLayer.ViewModels.User.ExternalUser>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.Username);
columns.Bound(c => c.Name);
columns.Bound(c => c.Surname);
columns.Command(command => command.Edit()).Width(150);
columns.Command(command => command.Destroy()).Width(150);
})
.ToolBar(toolBar =>
{
toolBar.Template(@<text><a class="btn btn-primary" href="@Url.Action("Insert","User")" >create</a></text>);
})
.Pageable()
.Sortable()
.Scrollable()
.HtmlAttributes(new { style = "height:550px;" })
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.ServerOperation(false)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.ProfileId);
})
.PageSize(20)
.Read(read => read.Action("Users_Read", "User"))
.Update(update => update.Action("Update", "User"))
.Destroy(destroy => destroy.Action("EditingCustom_Destroy", "User"))
)
)
这是我的行动:
public ActionResult Insert()
{
return View();
}
[HttpPost]
public ActionResult Insert([DataSourceRequest] DataSourceRequest request,ExternalUser user)
{
}
抱歉,大量代码被转储,它们只是相关的,我相信错误出在某个地方。
【问题讨论】:
-
尝试像这样更改参数:
public ActionResult Insert([DataSourceRequest] DataSourceRequest request, int ProfileId),只是传递ProfileId工作正常吗?如果 int 参数有效,那么在网格中定义的模型类应该作为动作参数弄得一团糟。我还想查看ExternalUser中的属性。 -
我更改了更新功能:
public ActionResult Update([DataSourceRequest] DataSourceRequest request, Guid ProfileId) { var user = Facade.UserBO.GetUserById(ProfileId); return Json(new[] { user }.ToDataSourceResult(request, ModelState)); },现在我有错误:Failed to load resource: the server responded with a status of 500 (Internal Server Error) -
HTTP 500 表示
Update操作中未处理的异常。在哪一行抛出异常?此外,您仍然没有显示ExternalUserviewmodel 属性,这可能会导致问题。 -
` public class ExternalUser { public Guid ProfileId { set;得到; } 公共字符串名称 { 设置;得到; } 公共字符串姓氏 { 设置;得到; } 公共字符串用户名 { 设置;得到; } 公共字符串 OrganizationId { 设置;得到; } 公共字符串 PersonnelNumber { 设置;得到; } 公共字符串 StatusId { 设置;得到; } 公共 int ProfileHead { 设置;得到; } 公共字符串用户名 { 设置;得到; } 公共字符串 fname { 设置;得到; } 公共字符串 lname { 设置;得到; } }`
-
当我点击更新按钮时出现异常,但它不起作用,我按 F12 并复制错误