Есть ли способ выполнить текст как код Razor? Я сохраняю HTML/JavaScript формы в поле базы данных. Все работает отлично, за исключением того, что я хочу устанавливать значения в полях, когда они втягиваются и отображаются в представлении. Например:Выполнить код бритвы из строки
<p class="form-control-static" id="requested_by">@User.Identity.GetUserName()</p>
К сожалению, когда втягивается и оказывается, значение поля только текст «@ User.Identity.GetUserName()», в отличие от значения, возвращаемого из этого метода.
Если вам интересно, почему я так поступаю, форма должна быть полностью динамичной, основываясь на том, кто входит в систему. Я обдумал несколько разных решений, но это кажется лучшим. Я определенно открыт для некоторых других идей, если они у вас есть.
Вот те решения, которые я был в состоянии рассмотреть до сих пор:
имен полого Сохранения и атрибуты в базе данных и динамически создать форму с помощью итерации. Проблема здесь в том, что некоторые из полей сгруппированы в полях, у некоторых есть аддоны, некоторые части требуют пользовательских кнопок и т. Д. Это может быть сделано, но я думаю, что это способ чрезмерной разработки и принятия решения.
Создайте форму в HTML/JavaScript/Razor и сохраните все имена полей в базе данных с соответствующими идентификаторами пользователей. Условно покажите поля в зависимости от того, имеет ли пользователь, зарегистрированный в системе, доступ к этому полю. Pseudo: @if(user.FormFields.Contains("field_name") ...
И решение, которое я пытаюсь сейчас: сохранить все HTML/JavaScript/Razor в базе данных как текст и сделать с помощью @Html.Raw(HtmlFromDatabase)
. Как я уже сказал, все это отлично работает, за исключением кода Razor, который не выполняется.
Любая помощь или предложения очень ценятся.
К сожалению, это приводит к тому же результату. Код Razor в HTML-строке не обрабатывается до рендеринга. – Joe