2010-06-10 6 views
1

Многие рамки MVC (например, PHP Zend Framework) имеют способ обеспечить базовое управление состоянием через URL-адреса. Основной принцип заключается в следующем:Сохранение параметров в ASP.NET MVC

Любые параметры, которые не были явно изменены или не-набор скопирована в каждый URL

Например, рассмотрим список с нумерацией страниц. У вас будет порядок, направление и номер страницы, переданные в качестве параметров URL. У вас также может быть несколько фильтров. Изменение значения фильтра не должно изменять порядок сортировки.

ASP.net MVC, кажется, помню, контроллер и действие по умолчанию:

<%: Html.RouteLink("Next", "MyRoute", new {id = next.ItemId}) %> 

Это не будет повторно установить действие или контроллер. Однако, похоже, он забывает все остальные параметры. То же самое можно сказать о ActionLink.

Параметры, которые устанавливаются ранее в вашем URL, как представляется, также сохраняются.

Есть ли способ удержать больше этого?

Например, это, кажется, не влияет на какие-либо ссылки генерируются:

RouteData.Values["showDeleted"] = true; 
+1

Можете ли вы опубликовать образец URL-адреса, который вы хотите создать? –

+0

/Items/List? ShowDeleted = 1 & order = FirstName & direction = ASC /Items/Details/1? showDeleted = 1 & order = FirstName & direction = ASC /Items/Delete/1? ShowDeleted = 1 & order = FirstName & direction = ASC – MapDot

ответ

0

Самое простое решение для запоминания подкачки и параметры сортировки, чтобы иметь на стороне клиента инструмент (как jqGrid) делают управление для тебя.

ActionLink не будет помнить параметры, потому что это не его работа. Он предназначен для предоставления ссылки (полностью независимой от той страницы, на которой вы сейчас находитесь) на другой странице.

Основываясь на ссылках, которые вы поделили, похоже, вы хотите запомнить параметры фильтрации, переходя на другую страницу, а затем вернуться в список. В моем приложении я реализовал всплывающие модалы для обработки команд, оставив jqGrid в фоновом режиме. Другим решением является сохранение параметров фильтрации в сеансе, но это может привести к запутанному поведению, если пользователь открывает две копии одной и той же страницы.

Смежные вопросы