Как получить значение enum, приведенное к int (или распознать строковое значение) в веб-форме .aspx - PullRequest
0 голосов
/ 18 июня 2019

У меня есть немного кода JQuery, чтобы скрыть / показать некоторые вещи в зависимости от выпадающего значения из значений перечисления.

Вот как заполняется раскрывающийся список:

public IList<SelectListItem> DataTypes => new List<SelectListItem>(
     Enum.GetValues(typeof(DataType))
     .Cast<DataType>()
     .Select(v => new SelectListItem
         {
             Text = v.ToString(),
             Value = ((int)v).ToString()
         }).ToList());

Я не могу заставить эту работу. Я пробовал:

if ($('#Data_Type').val() === <%:((int)DataType.SomeType).ToString()%>)

, который просто молчит

тогда как разные варианты:

if ($('#Data_Type: selected').text() === <%:DataType.SomeType.ToString()%>)

вызывает ошибку js

SomeType не определен

Использование магических строк ("0" и "SomeType") работает.

Есть ли способ?

1 Ответ

0 голосов
/ 21 июня 2019

Я не думаю, что это возможно.В итоге я получил строковые значения в массив в моей модели и проанализировал его в массиве JavaScript.

JSON.parse('@Html.Raw(Model.DataTypes)');

И затем проверил, содержит ли массив текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...