【问题标题】:Access enum data type from Jquery function从 Jquery 函数访问枚举数据类型
【发布时间】:2013-04-10 05:26:00
【问题描述】:

枚举数据类型在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();
%>

【问题讨论】:

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


    【解决方案1】:

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

    您可以定义两个字符串变量来将枚举的名称/值分配给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(',');
    }
    

    【讨论】:

    • 可能你误解了我的情况。我需要从 js 函数访问 c# 枚举。我还编辑了我的帖子。换句话说,我需要使用枚举转换循环值。请检查一下。
    • 服务器端执行完毕后会执行javacript的循环并发送给客户端,那么我在c#代码中如何使用javascript循环变量?
    • 我只需要枚举数据类型来转换 js 函数'for loop'变量值吗?在 html 文件中,我可以做到这一点。请检查更新的帖子。那么我该如何在 js 文件中做那件事呢?
    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2011-07-03
    相关资源
    最近更新 更多