与剑道有更多问题,并希望有人在这里可以帮助我。
我有一个工作的kendo Grid,它有一个用于编辑的弹出模板,通过AJAX调用Controller上的方法并更新行。一切都很好。
每行的最后一列是最后更新的字段,应该在编辑时更新为DateTime.Now。
现在因为它使用Kendo来保存数据所以没有我能找到的Success方法因此我无法以Json格式返回保存的数据(因此根据网格永远不会编辑dateTime) 。
我找不到一个工作事件来激活一个更新列客户端的javascript函数。
所以我有点卡住了。
任何人都可以提供帮助吗?
编辑:这里要求的是代码。
Kendo网格显示我试图给它一个默认值(没有工作,我知道为什么),并显示它正在调用弹出窗口。
@(Html.Kendo().Grid(Model.Where(x => x.OrgLevel == 0).First().DefinedFieldsList)
.Name("DefinedlevelsGrid")
.Columns(columns =>
{
columns.Bound(x => x.FieldName).Title("Name");
columns.Bound(x => x.FieldTypeText).Title("Type");
columns.Bound(x => x.isMandatory).Title("Mandatory");
columns.Bound(x => x.DefaultValue).Title("Default Value");
columns.Bound(x => x.UpdatedOn).Title("Updated");
columns.Command(command => { command.Edit(); command.Destroy(); });
})
.Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("_OrgDefinedFieldEdit"))
.Pageable()
.Sortable()
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(x => x.FieldId);
model.Field(x => x.UpdatedOn).DefaultValue(DateTime.Now.ToString());
})
.Update(update => update.Action("EditDefinedField", "OrganisationAjax"))
.Destroy(destroy => destroy.Action("Destroy", "Home"))
)
)
这是模板视图。我尝试为最后更新的字段添加隐藏字段,但没有追求:
@using Kendo.Mvc.UI;
<div id="popupContainer">
<h2>Organisation Defined Field</h2>
<table id="PopupEditTable">
<tr>
<td>Name: </td>
<td>
@Html.EditorFor(x => x.FieldName)
@Html.HiddenFor(x => x.UpdatedOn)
</td>
</tr>
<tr>
<td>Type:</td>
<td>
@(Html.Kendo().DropDownList()
.Name("FieldTypeText")
.DataValueField("Id")
.DataTextField("Type")
.BindTo((System.Collections.IEnumerable)ViewData["FieldTypes"])
)
</td>
</tr>
<tr>
<td>Description:</td>
<td>@Html.EditorFor(x => x.Description)</td>
</tr>
<tr>
<td>Mandatory:</td>
<td>@Html.CheckBoxFor(x => x.isMandatory)</td>
</tr>
<tr>
<td>Default Value:</td>
<td>@Html.EditorFor(x => x.DefaultValue)</td>
</tr>
</table>