我在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
?
答案 0 :(得分:2)
无论您在ClientTemplate中输入什么内容,您都无法正确显示它。因为处理Grid的Select操作的action方法将使用JavaScriptSerializer的默认设置,并且表示Enum属性的值将是Integers - 您可以检查select方法的响应是什么。
您可以尝试使用一些JavaScript函数将整数转换为字符串再次返回到客户端 - 如果您采用这种方法,那么您可以键入一些JavaScript函数,当需要模板时,每次都会在客户端上调用它。 / p>
例如:
ClientTemplate("myTransformFunction('<#= MyEnumProperty#>')")
这样一个函数将被调用,枚举的整数表示将被传递 - 然后你可以使用一个简单的开关来返回相应的字符串。
或者更简单的方法是使用ViewModel模式。