如何在JavaScript中使用C#枚举值
我在C#中有一个枚举,比如Category.cs。
在下拉列表中,我们是绑定值。
因此,如果用户在下拉列表中选择某个特定值,它将隐藏一个div。
所以我想在javascript中获取枚举值,即想要将枚举值与javascript中的一个选定值进行比较。
马赫什
假设你有这样的带有数值的enum
:
public enum Colors { Yellow = 1, Red, Blue, Green, Purple }
首先,在后面的代码(Page_Load事件)中注册JavaScript代码,它将构建包含相同数据的客户端结构:
string strJS = string.Format("var arrColors = {{{0}}}; ", string.Join(", ", Enum.GetNames(typeof(Colors)).ToList().ConvertAll(key => { return string.Format("{0}: {1}", key, (int)((Colors)Enum.Parse(typeof(Colors), key))); }).ToArray())); Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "enum", strJS, true);
现在, arrColors
是JS变量,包含enum
键和值。
要使用它,请使用以下代码:
下拉应该如下所示:
System.Enum.GetNames(typeof(yourenumerationtype))
– 返回一个字符串数组,表示枚举项的名称