如何在Telerik ajax绑定的客户端模板中解析枚举字符串?

时间:2012-04-16 18:38:15

标签: asp.net-mvc asp.net-mvc-3 telerik telerik-grid telerik-mvc

我在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 =&gt; o.Day).ClientTemplate(“????”)

如何使用ClientTemplate

解决列中的“周一”问题

1 个答案:

答案 0 :(得分:2)

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

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

例如:

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

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

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