я хочу иметь следующие URL ... и я не уверен, как мне делать следующее:
1) Маршрут зарегистрирован в global.asax
2) Метод контроллера
URL-адреса / маршруты
- http://www.mysite.com/
- http://www.mysite.com/?page=2
- http://www.mysite.com/?tags=fooBar
- http://www.mysite.com/?page=2&tags=fooBar
Обратите внимание - я не хочу иметь http://www.mysite.com/{page}/{tags}/
и т. Д., Если это имеет значение. Я также знаю о маршрутах по умолчанию, но не уверен, как их настроить, чтобы они выполняли то, что мне нужно.
Наконец, я также знаю, как использовать Html.ActionLink (..), поэтому меня не волнует, как это использовать.
какие-либо предложения?
Модульное тестирование
У меня также сложилось впечатление, что я могу провести модульный тест, например: - (используя MvcFakes) ...
// Arrange.
var routes = new RouteCollection();
MvcApplication.RegisterRoutes(routes);
// Act.
context = new FakeHttpContext("~/?page=2&tags=fooBar");
routeData = routes.GetRouteData(context);
// Assert.
Assert.AreEqual("Home", routeData.Values["controller"]);
Assert.AreEqual("Index", routeData.Values["action"]);
Assert.AreEqual(2, routeData.Values["page"]);
Assert.AreEqual("fooBar", routeData.Values["tags"]);
Обновление 1
Я надеюсь запустить все эти действия Index в HomeController по умолчанию, если это поможет. (на самом деле я переименовал свой HomeController в PostController, но это не очень важно / не должно влиять на проблему).