Рендеринг JavaScript, который хранится в базе данных - PullRequest
0 голосов
/ 28 мая 2018

У меня в таблице базы данных только один столбец, и в его содержимом либо ссылка javascript, например

<script src="some src"></script> 

, либо код javascript, например

<script>
some code
<script>

Так что мой вопрос: можно ли исправить визуализацию?этот javascript внутри файла cshtml?

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете использовать метод Html.Raw в своем представлении

@model YourViewModel
@Html.Raw(Model.YourScriptContent)

Предполагая, что YourScriptContent является свойством вашей модели представления, для которой вы устанавливаете значение содержимого сценария в своем действии GET.

public ActionResult Index()
{
   var vm = new YourViewModel();
   vm.YourScriptContent =  "<script>alert('testing');</script>";
   return View(vm);
}

По умолчанию бритва будет HTML кодировать возвращаемое значение любого кода / выражения c # с префиксом @.Но метод Raw вернет разметку, не закодированную в формате HTML, что вам и нужно в этом случае.

Поскольку вы не кодируете HTML при его рендеринге, я надеюсь, что вы полностью доверяете сценариюзначения контента :).Прочтите о внедрении сценариев, если вы не следуете предыдущему утверждению.

...