У меня есть маршрут с несколькими дополнительными параметрами.Это возможные условия поиска в разных полях.Так, например, если у меня есть поля key, itemtype и text, то я имею в global.asax:
routes.MapRoute( _
"Search", _
"Admin.aspx/Search/{Key}/{ItemType}/{Text}", _
New With {.controller = "Admin", .action = "Search" .Key = Nothing, .ItemType = Nothing, .Text = Nothing} _
)
Мое действие принимает необязательные параметры:
Function Search(Optional ByVal Key As String = Nothing, _
Optional ByVal ItemType As Integer = 0, _
Optional ByVal Text As String = Nothing, _
Optional ByVal OtherText As String = Nothing)
Затем проверяется,строки Key и Text имеют ненулевое (и непустое) значение и по мере необходимости добавляют поисковые запросы в запрос db.
Однако возможно ли отправить нулевое значение, например, дляКлюч, но все еще отправить значение для текста?Если да, то как выглядит URL?(Admin.aspx / Search // 0 / Foo не работает :))
Я знаю, что могу справиться с этим, используя массив параметров, но подумал, возможно ли это, используя описанный маршрут?Конечно, я мог бы определить какое-то другое значение как эквивалентное нулю (например, пробел /% 20), но есть ли способ отправить нулевое значение в URL?Я подозреваю, что нет, но думал, что увижу, знает ли кто-нибудь об этом.
Я использую ASP MVC 2 для этого проекта.