从Jquery函数访问枚举数据类型

时间:2013-04-17 12:36:35

标签: jquery c#-4.0 asp.net-mvc-2 enums

枚举数据类型在c#代码文件中,如下所示:

C#代码:

[Serializable]
[ComVisible(true)]
public enum DayOfWeek
{
    Sunday = 0,
    Monday = 1,
    Tuesday = 2,
    Wednesday = 3,
    Thursday = 4,
    Friday = 5,
    Saturday = 6
}    

我需要从下面提到的js函数中获取上面的枚举类型。我怎么能实现呢?

JS文件: 我需要使用枚举类型转换for loop变量。

function updateGroupLessonHiddenFields() {
    for (var i = 0; i < 7; i++) {
        var name = (('<% DayOfWeek%>')i).ToString();
        var key = name.ToLower();
    }
}

ascx文件我可以像下面那样访问:

<%
    for (var i = 0; i < 7; i++) {
        var name = ((DayOfWeek)i).ToString();
        var key = name.ToLower();
%>

1 个答案:

答案 0 :(得分:0)

您不能在c#代码中使用javascript循环变量。 javascript的循环将在服务器端执行完成并发送到客户端后执行,如何在c#代码中使用javascript循环变量?

您可以定义两个字符串变量,以将枚举的名称/值分配给javascript。

背后的代码

public static string names = string.Join(",", Enum.GetNames(typeof(DayOfWeek)));
public static string values = string.Join(",", Enum.GetValues(typeof(DayOfWeek))); 

的Javascript

function updateGroupLessonHiddenFields() {         
  var names = '<%= names  %>';
  var key = '<%= values  %>'     
  nameArray = names.split(',');
  valuesArray = values.split(',');
}