2012-04-16 50 views
0

我在Telerik MVC網格上使用Ajax綁定,我無法弄清楚如何解決ClientTemplate中枚舉的文本版本。如何解決Telerik ajax綁定客戶端模板中的枚舉字符串?

鑑於:

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列中的「Mon」?

回答

1

不管你在ClientTemplate裏面輸入什麼,你都無法正確顯示它。因爲處理Grid的Select操作的動作方法將使用JavaScriptSerializer的默認設置,並且表示您的Enum屬性的值將爲Integers - 您可以檢查select方法的響應是什麼。

您可以嘗試使用一些JavaScript函數,它將那些整數轉換爲字符串再次返回到客戶端 - 如果您採用這種方法,那麼您可以鍵入一些JavaScript函數,這將在需要模板時在客戶端上每次調用。

例如:

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

這樣一個函數將被調用,將通過枚舉的整數表示 - 然後你可以使用一個簡單的開關,返回相應的字符串。

或者更簡單的方法是使用ViewModel模式。