2016-08-13 3 views
0

Я просто хочу вернуть имя через C# Enum GetName, передав значение int из jquery.Как я могу сделать это? Я пробовал следующий код.Как получить Enum GetName путем передачи данных JQuery в ASP.NET MVC

     success: function (data) { 
         $("#CourseStatics").empty(); 
         $.each(data, function (i) { 
          var optionhtml = '<tr><td>' + data[i].CourseCode + '</td> <td>' 
           + data[i].CourseName + '</td><td>' 
           + @Enum.GetName(typeof(AllEnums.Semester), data[i].SemesterId) + '</td><td>' 
           + data[i].TeacherName + '</td></tr>'; 
          $("#CourseStatics").append(optionhtml); 
         }); 
        } 

ответ

1

Вы не можете передавать свою клиентскую переменную на серверный код таким образом. Но вы можете определить объект в своем javascript-коде, который вы можете использовать для скрытого представления int для его имени.

Например:

var map = {}; 
@foreach (var i in Enum.GetValues(typeof(AllEnums.Semester))) 
{ 
    @:map['[email protected]((int)i)'] = '@i';    
} 

и ваш код будет выглядеть следующим образом:

    success: function (data) { 
        $("#CourseStatics").empty(); 
        $.each(data, function (i) { 
         var optionhtml = '<tr><td>' + data[i].CourseCode + '</td> <td>' 
          + data[i].CourseName + '</td><td>' 
          + map['id_' + data[i].SemesterId] + '</td><td>' 
          + data[i].TeacherName + '</td></tr>'; 
         $("#CourseStatics").append(optionhtml); 
        }); 
       } 
Смежные вопросы