я есть:asp.net MVC с дополнительными параметрами и частичным видом
AlbumsController PhotoRepository index.aspx (вид)
внутри index.aspx, у меня есть частичный вид AlbumControl вызова. Я хочу обновить это через ajax и ajaxhelper.
вопрос в том, что я хочу, возможность сделать следующее:
http://www.mysite.com/Albums
http://www.mysite.com/Albums?FilterTag=Birthdays
, когда я делаю это, я получаю следующее сообщение об ошибке:
Текущий запрос о действии «Указатель» в типе контроллера «AlbumsController» неоднозначен между следующими способами:
System.Web.Mvc.ActionResult Index (System.String) по типу Controllers.AlbumsController System.Web.Mvc.ActionResult Index() на тип Controllers.AlbumsController
я бы подумал, что asp.net MVC мог бы выяснить, где, если я передам параметр в querystring, он перейдет к методу Index (string Tag), и если бы я не прошел параметр, он переместился бы в Index().
Предложения?
Довольно много, что я собирался напечатать. Лично, однако, я бы стрелял больше для стороны атрибута, чтобы либо установить значение по умолчанию, если не там, либо перенаправить на ошибку. Просто упрощается, чтобы избежать повторного кода, если это параметр, который появляется много. –
Инструмент Programmin - какой будет подход атрибута здесь? – leora
Видя, что это не что-то встроенное в маршрут (IE имеет? И тег в URL-адресе), возможно, просто проверьте filterContext.ActionParameters, чтобы узнать, существует ли он. Если это не так, добавьте его.Если он имеет значение null, задайте параметр по умолчанию. Это только, если вы не хотите проверять значение null в действительном методе. Если вы не возражаете, что это возможно, скорее всего, вам понадобится пример проверки нулевой строки. Я использую атрибуты для вещей, которые, как я знаю, будут использоваться во многих местах, таких как установка pageNumber в 0, если он не существует. –