Вставка Razor-кода из JavaScript в html-разметку

105
28 ноября 2021, 14:50

Столкнулся с неожиданной проблемой. У меня есть форма, на которой по нажатию кнопки добавляется select-поле. Само создание поля сделал через простую js функцию, но проблема в том что данные в select тянутся с помощью razor-кода извне. Но я не могу добавить razor-код внутрь js, т.к. он либо сразу пытается его выполнить в месте написания, либо вставляет в виде строки в кавычках

Код формы

<form asp-action="LoadTestForm" asp-controller="Home" method="post" enctype="multipart/form-data" name="AddTest">
<div class="form-group">
    <input type="text" name="TestName" class="form-control" />
</div>
<br />
<div class="form-group">
    <input type="date" name="TestDate" class="form-control" />
</div>
<div class="form-group">
    <input type="time" name="TestTime" class="form-control" />
</div>
@{List<DBConnection.Theme> tl = TestComponents.Connect.GetAllThemes();}
<select style="width:auto" name="Themes">
@{
    for (int i = 0; i != tl.Count; ++i)
    {
        <option value="@tl[i].Id">@tl[i].Name</option>
    }
}
</select>
<div id="input0" style="margin-top: 5px"></div>
<br />
<input type="button" onclick="addInput()" value="+" />
<br />
<button class="btn btn-success">Загрузить тестирование</button>

Код JS-функции

<script language="javascript">
var x = 0;
var codeStr = '@{<text>for (int i = 0; i != tl.Count; ++i){<option value="tl[i].Id">tl[i].Name</option>}</text>}';
function addInput() {
    var str = '<select style="width:auto" name="Themes">' + codeStr + '</select>';
    document.getElementById('input' + x).innerHTML = str;
    x++;
}

P.S. В js-функции это последняя отчаянная попытка заставить хоть что-то работать)

READ ALSO
Как установить sharpGL для VisualStudio 2019 C#

Как установить sharpGL для VisualStudio 2019 C#

Я пытаюсь установить расширение sharpGL для visual stuioПишет что невозможно установить расширение не для одного пакета

100
Установить время в константу | C#

Установить время в константу | C#

Как записать времяБез даты! в константу

119
Чтение формата BCD C#

Чтение формата BCD C#

Есть устройство подключенное к шине ISA, которое периодически слушаю программойУстройство передает пакет состоящий из 4х байт (32 бит), в пакете...

103
Помощь с циклами

Помощь с циклами

Задание: Друзья составили про Петю задачу: наш друг Петя ест невкусную макаронину длиной 60кмКаждый день он съедает N метров этой макаронины...

204