Как генерировать правильные URL в javascript при экстернализации скриптов - PullRequest
2 голосов
/ 13 февраля 2012

Я работаю над приложением ASP.NET MVC3.Я читал о хороших практиках Javascript в различных местах и ​​решил, что было бы лучше, если бы я экстернализировал вызовы javascript и jQuery, которые сидели в

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

Внешний JS:

var namespace = {
    init: function (url) {
        this._RegistrationSelectClassUrl  = url;
    },
    _RegistrationSelectClassUrl: ''
};

Вид:

<script src="external/js.js" />
<script>
    namespace.init('@Url.Action("SelectClass", "Student", new { area = "Registration", id = Model.Person.PersonID })');
</script>  

Это базовый пример.

1 голос
/ 13 февраля 2012

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

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

Некоторая документация для этого: http://www.javascripttoolbox.com/bestpractices/#namespace

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