我只是想通过c# Enum GetName从jquery传递int值返回一个名称。我该怎么做呢?我试过下面的代码。
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);
});
}
您不能以这种方式将客户端变量传递给服务器端代码。但是你可以在javascript代码中定义一个对象,你可以用它来将int表示转换为name。
例如:var map = {};
@foreach (var i in Enum.GetValues(typeof(AllEnums.Semester)))
{
@:map['id_@((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);
});
}