«ScriptManager не существует в текущем контексте» в ASP.Net Основная Страница Бритвы

#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«, чтобы найти дополнительные учебные пособия.