【发布时间】:2012-05-29 00:28:40
【问题描述】:
我有以下路线设置,但它没有按我预期的方式出现。是的,我还是 MVC 的新手。
出来的方式是这样的。
http://localhost:29998/Home/States?make=Chrysler
我希望它出来的方式是这样的
http://localhost:29998/Home/Chrysler/States
当然,一旦你点击你的状态,它就会看起来像这样。
http://localhost:29998/Home/Chrysler/Florida
我真的很希望能够完全删除“家”并将其保留为
http://localhost:29998/Chrysler/States
routes.MapRoute(
"States", // Route name
"{controller}/{action}/{make}", // URL with parameters
new { controller = "Home", action = "States", Make = "" } // Parameter defaults
);
【问题讨论】:
-
好的,所以如果我输入这样的 URL localhost:29998/Home/States?make=Chrysler 并在返回上放置一个断点,我会看到字符串 make 具有 Chrysler 的值,但是如果我使用此 URL,则字符串 make 需要一个空值。 localhost:29998/Home/States/Chrysler我确定有一些小事我正在寻找我应该做的事情我似乎无法想到它是什么
-
'public ActionResult States(string make) { IEnumerable
stateNames = new List (); stateNames = _repository.GetAllDealers(); var states = from state in stateNames where state.make == make orderby state.address.city 升序选择 state.ToDomainDealer();返回视图(states.ToList ()); }' 'routes.MapRoute( "States", // 路由名称 "{controller}/{action}/{make}", // 带有参数的 URL new { controller = "Home", action = "States", make = UrlParameter.Optional } // 参数默认值 );' -
你是如何生成链接的?
-
@Html.ActionLink(item.make, "States", new { make = item.make })
标签: asp.net-mvc-3 razor asp.net-mvc-routing