C # код выполняется на сервере.
Код JS выполняется в браузере.
Вы не сможете получить ссылку на C # enum в javascript.
Лучший способ - определить объект в javascript, который имеет те же значения, что и в Enum.
Затем этот объект может быть использован в вашем коде JavaScript.
Код JS будет примерно таким, как показано ниже, если вы используете чистый JavaScript:
var SizeEnum = {
SMALL: 1,
MEDIUM: 2,
LARGE: 3,
};
См. эту статью , если вам нужна дополнительная информация о синтаксисе в javascript
EDIT:
Если вы не хотите явно указывать их в файлах JS, вы можете написать метод расширения , как указано в этой статье . Это преобразовало бы перечисление C # в перечисление JS. Это также поможет вам всегда синхронизировать код JS с перечислениями c #.
public static class EnumHelper
{
public static HtmlString EnumToString<T>()
{
var values = Enum.GetValues(typeof(T)).Cast<int>();
var enumDictionary = values.ToDictionary(value => Enum.GetName(typeof(T), value));
return new HtmlString(JsonConvert.SerializeObject(enumDictionary));
}
}
Затем вы можете использовать его в файле бритвы, как показано ниже. Поскольку это скрипт, эта переменная должна быть доступна в ваших файлах JS.
<script>
var assetStatusEnum = @(EnumHelper.EnumToString<SizeEnum>())
</script>
Примечание. При этом создается объект JSON, который вы можете использовать в своем javascript.
Это решение применимо, только если вы используете простой javascript.
Если вы используете машинописный текст, я бы предложил использовать параллельные классы в машинописном тексте, поскольку они обеспечили бы лучшие проверки типов во время компиляции.