#javascript #c# #html #asp.net-core #razor-pages
#javascript #c# #HTML #asp.net-core #razor-страницы
Вопрос:
У меня есть представление (например. Index.cshtml) и в модели страницы (например. Index.cshtml.cs). Есть одна функция javascript, которую я хочу вызвать из метода OnPost() в модели страницы. Итак, я попытался использовать ScriptManager, но он говорит, что «ScriptManager не существует в текущем контексте». Нажатие кнопки «Показать возможные исправления» не показывает никакого решения для устранения этой ошибки.
Как решить эту проблему или есть какой-либо другой альтернативный способ вызова функции javascript из модели страницы?
Мой Javascript в поле зрения:
<script type="text/javascript">
function openModal() {
$('#myModal').modal('show');
}
</script>
Мой код для вызова функции javascript с использованием ScriptManager в модели страницы:
public ActionResult OnPost(){
........//Some codes
........//Some codes
ScriptManager.RegisterStartupScript(this,this.GetType(),"Pop", "openModal();", true);
}
Ценю любую помощь и предложения. Заранее спасибо!
Ответ №1:
Насколько я знаю, ScriptManager.Метод RegisterStartupScript используется для Asp.Net приложение, используя его с элементом управления ScriptManager и элементом управления UpdatePanel, мы могли бы добиться частичного обновления представления. Но это не относится к Asp.net основное приложение Razor. Таким образом, он покажет ошибку «ScriptManager не существует в текущем контексте».
Согласно вашему коду, кажется, что вы хотите показать всплывающую модель и хотите добиться частичного обновления представления. Если это так, вы можете попробовать использовать модель начальной загрузки для отображения всплывающей модели и использовать частичный просмотр / страницу для отображения модального содержимого.
Проверьте это руководство: страницы Razor и Bootstrap — модальные основные сведения
Кроме того, вы также можете выполнить поиск «использование jquery ajax popup modal на страницах asp net core razor«, чтобы найти дополнительные учебные пособия.