Итерация по параметру Razor (SelectList) в Javascript / JQuery - PullRequest
1 голос
/ 17 марта 2020

У меня есть форма с выпадающим списком, который заполняется так:

@{
   SelectList categoryList = CSharpHelper<type>(LookupCategory);
}

@Html.DropDownList("TaskCategoryId", categoryList, "Please select a Category")

Теперь это работает нормально, однако теперь я хочу иметь возможность перебирать этот categoryList параметр в пределах Javascript или JQuery. Я бы предпочел не выполнять итерацию по самому раскрывающемуся списку, так как у меня есть пара других списков, для которых я также должен выполнить итерацию sh, но для них нет выпадающих списков.

1 Ответ

1 голос
/ 17 марта 2020

Вы можете преобразовать любое свойство C# в javascript, используя @Html.Raw(Json.Encode(object.property)), например:

<script>
    var categories = @Html.Raw(Json.Encode(LookupCategory));
</script>

Если у вас их несколько, вы можете преобразовать всю вашу модель или создать модель javascript возразите и добавьте к этому (чтобы сохранить js корпус), например:

<script>
     var model = @Html.Raw(Json.Encode(Model));
</script>

или

<script>
     var model = {};
     model.categories = @Html.Raw(Json.Encode(Model.Categories));
     model.titles = @Html.Raw(Json.Encode(Model.Books.Select(x=>x.Title)));
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...