How to use C# enumeration values in JavaScript - Stack Overflow

I have got an enumeration in C# ie something like Category.cs.In a dropdownlist we are binding values.

I have got an enumeration in C# ie something like Category.cs.
In a dropdownlist we are binding values.
So if the user selects some specific value in dropdown it will hide one div.
So i want to get the enumeration value in javascript ie want to pare the enumeration value with one selected value in javascript.

Mahesh

I have got an enumeration in C# ie something like Category.cs.
In a dropdownlist we are binding values.
So if the user selects some specific value in dropdown it will hide one div.
So i want to get the enumeration value in javascript ie want to pare the enumeration value with one selected value in javascript.

Mahesh

Share Improve this question edited Apr 4, 2011 at 11:21 user447356 asked Apr 4, 2011 at 10:33 Mahesh KPMahesh KP 6,45613 gold badges53 silver badges71 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

Suppose you have such enum with numeric values:

public enum Colors
{
   Yellow = 1,
   Red,
   Blue,
   Green,
   Purple
}

First of all, in the code behind (Page_Load event) register JavaScript code that will build client side structure that hold the same data:

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);

Now arrColors is JS variable with both keys and values of your enum.

To use it, have such code for example:

<script type="text/javascript">
   function SelectionChanged(oDDL) {
      var selectedValue = oDDL.value;
      var enumValue = arrColors[selectedValue] || "N/A";
      alert("enum value for '" + selectedValue + "' is: " + enumValue);
   }
</script>

And the drop down should look like this:

<select onchange="SelectionChanged(this);">
    <option>Select..</option>
    <option value="Yellow">Yellow</option>
    <option value="Green">Green</option>
</select>

System.Enum.GetNames(typeof(yourenumerationtype)) - returns an array of strings, which represents enumeration items' names

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745332686a4622956.html

相关推荐

  • How to use C# enumeration values in JavaScript - Stack Overflow

    I have got an enumeration in C# ie something like Category.cs.In a dropdownlist we are binding values.

    8小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信