Как правильно обрабатывать параметры режима в MVC? - PullRequest
1 голос
/ 20 декабря 2011

Мое приложение имеет ряд окружающих свойств, таких как текущий CountryId, DocumentMode и т. Д. Как я узнал в предыдущем вопросе , текущее значение этих свойств не должно храниться в сеансе, носкорее отправляется в строке запроса при каждом запросе страницы.Пока все хорошо.

Итак, когда я создаю страницу, я хочу организовать все ссылки на действия так:

/ controller / action? CountryId = x & DocumentMode = y & ...

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

Вопрос в том, как правильно уведомить приложение, когда один иззначения меняются?

В частности, в верхней части каждого представления у меня есть выпадающий список, который показывает, например, все страны.Что должно произойти, когда вы выбираете новую?

Прямо сейчас изменение вызывает вызов функции javascript, которая заменяет CountryId в строке запроса, и вызывает действие, которое просто перезагружает исходную страницу, но с новойCountryId установлен, и поэтому новые ссылки действий перестраиваются.Но это похоже на глупость.Есть ли более элегантный способ просто обновить все ссылки на странице без необходимости обновления сервера для этого?(Я всегда мог подготовить какой-нибудь сценарий, чтобы сделать это, но это не кажется тривиальным, и я не хочу изобретать велосипед, если есть способ сделать это.)

Любая помощь сильнооценили.Спасибо!

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

Вы можете поместить часть страницы, которая изменяется, в частичное представление и перезагружать это представление через AJAX при каждом изменении элемента управления.

Частичное отображение после загрузки страницы

В качестве альтернативы вы можете просто написать JavaScript, чтобы обновить все ссылки. Разместите некоторый код, и я уверен, что вы получите несколько советов о том, как его написать.

0 голосов
/ 07 сентября 2012

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

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