У меня есть метод, который добавляет javascript в конец частичных представлений, если это ajax-запрос.Однако моя проблема заключается в том, что при возвращении сценария теги сценария были удалены, а функция, которую я хочу выполнить, записывается в виде простого текста.
if (httpContext.Request.IsAjaxRequest())
{
script = "MyNamespace.globals.initFunctions.push(function() { " + script + " });";
return new HtmlString(@"<script type=""text/javascript"">" + script + "</script>");
}
Таким образом, вместо получения желаемого результата
<script type="text/javascript">MyNamespace.globals.initFunctions.push(function() { MyNamespace.init(); });</script>
Я получаю MyNamespace.globals.initFunctions.push(function() { MyNamespace.init(); });
в виде обычного текста.
В чем может быть причина?
Редактировать:
Пробоватьс Html.Raw () не помогло.Хотя строка сценария содержит теги сценария, они по-прежнему удаляются при визуализации.
@{
string script = ViewUtilities.AddScript("MyNamespace.init();", this.ViewContext.HttpContext);
}
@Html.Raw(script);
Редактировать 2:
Теперь я попытался написать все это ввид, подобный этому,
<script type="text/javascript">
MyNamespace.globals.initFunctions.push(function() { MyNamespace.init(); });
</script>
, и он по-прежнему удаляет теги вокруг скрипта и отображает его в виде простого текста.Я не знаю, куда идти отсюда ...
Когда я проверяю ответ с помощью Firebug, он выглядит хорошо, но, глядя на html, это не так.