0

我在 Telerik MVC 网格上使用 Ajax 绑定,但我不知道如何解析 ClientTemplate 中枚举的文本版本。

鉴于:

enum MyEnum { Sat, Sun, Mon, Tue, Wed, Thu, Fri };

public class MyBusinessObject{
     public int Id { get; set; }
     public MyEnum Day { get; set;
}

在我看来:

@(Html.Telerik().Grid<MyBusinessObject>()

... columns.Bound(o => o.Day) .ClientTemplate("????")

例如,如何使用 ? 解决列中的“星期一” ClientTemplate

4

1 回答 1

2

无论您在 ClientTemplate 中键入什么内容,都无法正确显示它。因为处理 Grid 的 Select 操作的操作方法将使用 JavaScriptSerializer 的默认设置,并且表示 Enum 属性的值将是 Integers - 您可以检查 select 方法的响应是什么。

您可以尝试使用一些 JavaScript 函数,在客户端再次将整数转换为字符串 - 如果您采用这种方法,那么您可以键入一些 JavaScript 函数,每次需要模板时客户端都会调用该函数。

例如:

ClientTemplate("myTransformFunction('<#= MyEnumProperty#>')")

这样,将调用一个函数并传递枚举的整数表示 - 然后您可以使用一个简单的开关来返回适当的字符串。

或者更简单的方法是使用 ViewModel 模式。

于 2012-04-19T18:05:01.733 回答