ASP.Net MVC запускает JavaScript в PartialView при загрузке с использованием Ajax.ActionLink - PullRequest
5 голосов
/ 03 декабря 2009

У меня вопрос по ASP.Net MVC.

Я использую Ajax.ActionLink для загрузки PartialView.

В этом частичном представлении есть функция javascript, которую я хотел бы вызвать.

Однако я не могу понять, как это сделать.

Я пытался использовать AjaxOptions {OnSuccess = "functionInPartialView"}, когда я установил Ajax.ActionLink, но по какой-то причине он не видит Javascript.

РЕДАКТИРОВАТЬ: PartialView представляет собой смесь JavaScript и HTML

Ответы [ 4 ]

5 голосов
/ 03 декабря 2009

Я бы предложил использовать jQuery ($ .get / $. Ajax). Он вычисляет $ (function () {}), когда вы загружаете партиал, поэтому ваши скрипты там запускаются. И я лично считаю, что jQuery проще и понятнее в использовании.

5 голосов
/ 27 июля 2010

Добавьте код javascript в представление, которое будет содержать parcialview, и затем используйте ajaxOptions {OnSuccess = " functionInView "} при установке Ajax.ActionLink.

3 голосов
/ 03 декабря 2009

Если это только javascript в вашем частичном представлении, то вы должны использовать результат действия JavaScript, как в этой записи

В противном случае, проблема в том, что ajax просто загружает контент в div не означает, что он выполняется. В вашем обратном вызове ajax вам нужно найти содержимое javascript и проверить его, чтобы ваша страница знала об определении функции.

Я знаю, что это описание высокого уровня, но у меня нет примеров того, как это сделать. Если вы разместите часть кода, возможно, кто-то может предложить более чистый способ сделать это, чтобы у вас был лучший доступ к сценарию.

0 голосов
/ 13 августа 2015

Вы можете попробовать Multipartials , вы можете использовать их для обновления нескольких представлений и даже запуска сценариев из партиалов, я не уверен в точной специфике, как это было давно, но вы можете взглянуть на это и посмотреть, сможет ли он выполнить то, что вы ищете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...