我正在努力更新应用程序以使用Kendo UI,并且遇到了使用DropDownList绑定到Enum的问题.我遇到的两个问题是:1)该值不包含Enum值,而是包含"Today"(应为0),以及2)显示值始终为"Last10Days"而不是"Last 10 Days"标签.我看了,找不到另一个地方,有人使用Kendo UI将描述显示为文本,并包含数值而不是文本.任何帮助表示赞赏.
<div class="span6">
@Html.LabelFor(m=> m.DateRanges)
@(Html.Kendo().DropDownListFor(m => m.DateRanges)
.BindTo(Enum.GetNames(typeof(SearchDateRanges)).ToList())
.HtmlAttributes(new { value = "Today" })
.DataTextField("Text")
.Events(e => e.Change("DateChange")))
</div>
<div class="span6">
@Html.LabelFor(m => m.Status)
@(Html.Kendo().DropDownListFor(m=> m.Status)
.BindTo(Enum.GetNames(typeof(SearchStatusCriteria)).ToList())
.HtmlAttributes(new {value = "All"}))
</div>
Run Code Online (Sandbox Code Playgroud)
public enum SearchDateRanges
{
[Description("Today")]
Today = 0,
[Description("Last 10 Days")]
Last10Days = 1,
/// <summary>
/// The last 30 days.
/// </summary>
[Description("Last 30 Days")]
Last30Days = 2,
[Description("Last 60 Days")]
Last60Days = 3,
[Description("Last 90 Days")]
Last90Days = 4, …
Run Code Online (Sandbox Code Playgroud) 我通过MVC Helper对象使用Kendo UI网格.如果ajax调用中发生错误(即Web服务器不可用),请求将返回错误代码,但是Kendo UI网格不会响应,只是继续表现为没有返回数据.
@(Html.Kendo().Grid<ProcessInformation>()
.Name("Grid")
{Edited for brevity}
.DataSource(datasource => datasource.Ajax()
.Read(read => read.Action("SearchProcesses", "SystemProcess")
.Data("searchSerialize"))
.PageSize(10)
).Name("ResultsGrid").Events(events => events.DataBound("gridOnBound")))
Run Code Online (Sandbox Code Playgroud)
MVC活动如下:
public ActionResult SearchProcesses(
[DataSourceRequest] DataSourceRequest request, string startDate, string endDate, string status, int dataProcessType)
{
try
{
//does the search and returns the object
}
catch (Exception e)
{
this.log.ErrorException("Error Encountered in WebInternal.SearchProcesses()", e);
var result = new JsonResult
{
Data = new { Redirect = "../Error/Unexpected" },
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让Kendo UI网格在失败的呼叫中将页面重定向到错误页面?我知道我可以通过ajax调用来实现它,但我宁愿使用Kendo …
我正在使用Kendo UI Grid Edit和Delete命令来管理数据.
我遇到的问题是我有一个需要应用于删除按钮的自定义样式.我可以在DataBound事件上添加类,但是当用户尝试编辑数据时,样式会在按钮上消失并返回到默认的Kendo UI样式.
Jquery用来添加样式
function onRowBound(e) {
$(".k-grid-delete").removeClass("k-button k-button-icontext").addClass("btn btn-danger");
}
Run Code Online (Sandbox Code Playgroud)
剑道MVC活动
columns.Command(command => command.Edit()).Title("Edit");
columns.Command(command => command.Destroy()).Title("Remove")
.........
.Events(e =>
{
e.DataBound("onRowBound");
e.Cancel("onRowBound");
e.Edit("onRowBound");
}))
Run Code Online (Sandbox Code Playgroud)
我尝试在Cancel事件上触发相同的方法,但样式仍然恢复为默认值.有没有办法设置样式,最好不使用"ClientTemplate"功能?