Telerik Grid 中的 ajax 编辑,更新行时不会呈现显示模板
我有一个 Telerik 网格, 当我编辑一行时: 但如果我按下更新按钮甚至取消(观看中间栏):
这里是声明:
<%= Html.Telerik().Grid<AlefTech.HumanResource.WebModule.ViewDto.MaritialStatusItemEditDto>(Model)
.Name("Grid")
.DataKeys(keys => { keys.Add(c => c.MaritialStatusItemID); keys.Add(k => k.Index); })
.Columns(columns =>
{
//columns.Bound(m => m.MaritialStatusItemID).Visible(false);
columns.Bound(m => m.Index).Title("").Sortable(false).Width(0);
columns.Bound(m => m.Name);
//columns.Bound(m => m.Brithdate).Width(130).Format("{0:d}");
//columns.Bound(m => m.Gender);
columns.Bound(m => m.MaritialStatusItemType);
//columns.Bound(m => m.Notes);
//columns.Bound(m => m.Status);
//columns.Bound(m => m.CreationDate);
//columns.Bound(m => m.ItemGuid);//.ClientTemplate("<input type='hidden' value='<#ItemGuid#>' name='ItemGuid' id='WorkerID'>");
columns.Command(command => { command.Edit(); command.Delete(); });
})
//.ClientEvents(cfg => cfg.OnDataBound("onRowDataBound"))
.ToolBar(t => t.Insert())
.DataBinding(d => d.Ajax()
.Select("MartialStatusGridSelect", "Worker")
.Insert("MartialStatusGridInsert", "Worker")
.Update("MartialStatusGridUpdate", "Worker")
.Delete("MartialStatusGridDelete", "Worker"))
.Scrollable()
.Editable(editing => editing.Enabled(true))
.Sortable()
.HtmlAttributes(new { @class = "t-grid-rtl", @hegiht = "450px" })
.Pageable()
%>
和模型:
public class MaritialStatusItem : BaseEntity
{
[StringLength(50)]
[Required]
public virtual string Name { get; set; }
[UIHint("MaritialStatusEnum")]
public virtual MilitaryStatusEnum MaritialStatusItemType { get; set; }
}
显示模板 MaritialStatusEnum.ascx
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%=((MilitaryStatusEnum)Model == .MilitaryStatusEnum.Serving)? "Serving" : "Finished"
%>
编辑器模板
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<AlefTech.HumanResource.Core.MartialStatusEnum>" %>
<%=Html.DropDownList("MartialStatus", new SelectListItem[] { new SelectListItem { Text = "Serving", Value = "0" }, new SelectListItem { Text = "Finished", Value = "1" } }) %>
任何想法为什么会发生这种情况? ?
I have a telerik grid,
when I edit a row:
but if i pressed the update button or even cancel(watch the mid column):
here is the declaration:
<%= Html.Telerik().Grid<AlefTech.HumanResource.WebModule.ViewDto.MaritialStatusItemEditDto>(Model)
.Name("Grid")
.DataKeys(keys => { keys.Add(c => c.MaritialStatusItemID); keys.Add(k => k.Index); })
.Columns(columns =>
{
//columns.Bound(m => m.MaritialStatusItemID).Visible(false);
columns.Bound(m => m.Index).Title("").Sortable(false).Width(0);
columns.Bound(m => m.Name);
//columns.Bound(m => m.Brithdate).Width(130).Format("{0:d}");
//columns.Bound(m => m.Gender);
columns.Bound(m => m.MaritialStatusItemType);
//columns.Bound(m => m.Notes);
//columns.Bound(m => m.Status);
//columns.Bound(m => m.CreationDate);
//columns.Bound(m => m.ItemGuid);//.ClientTemplate("<input type='hidden' value='<#ItemGuid#>' name='ItemGuid' id='WorkerID'>");
columns.Command(command => { command.Edit(); command.Delete(); });
})
//.ClientEvents(cfg => cfg.OnDataBound("onRowDataBound"))
.ToolBar(t => t.Insert())
.DataBinding(d => d.Ajax()
.Select("MartialStatusGridSelect", "Worker")
.Insert("MartialStatusGridInsert", "Worker")
.Update("MartialStatusGridUpdate", "Worker")
.Delete("MartialStatusGridDelete", "Worker"))
.Scrollable()
.Editable(editing => editing.Enabled(true))
.Sortable()
.HtmlAttributes(new { @class = "t-grid-rtl", @hegiht = "450px" })
.Pageable()
%>
and the Model :
public class MaritialStatusItem : BaseEntity
{
[StringLength(50)]
[Required]
public virtual string Name { get; set; }
[UIHint("MaritialStatusEnum")]
public virtual MilitaryStatusEnum MaritialStatusItemType { get; set; }
}
the Display Template MaritialStatusEnum.ascx
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%=((MilitaryStatusEnum)Model == .MilitaryStatusEnum.Serving)? "Serving" : "Finished"
%>
the Editor Template
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<AlefTech.HumanResource.Core.MartialStatusEnum>" %>
<%=Html.DropDownList("MartialStatus", new SelectListItem[] { new SelectListItem { Text = "Serving", Value = "0" }, new SelectListItem { Text = "Finished", Value = "1" } }) %>
any Ideas why this happenning??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我使用此 主题
如下所示:
并注意这是 Enum 属性的解决方案,但如果您有一个复杂的对象,您应该考虑另一个解决方案。
well, I solved the problem using the way mentioned in this topic
as following :
and notice this is a solution for an Enum property, but if you have a complex object, you should consider another solution.