Gab*_*elC 4 url-routing asp.net-mvc-3
我想收到一个字符串作为URL中的ID.这是一个例子:
http://www.example.com/Home/Portal/Fishing
Run Code Online (Sandbox Code Playgroud)
我想在我的身份钓鱼.但我无法使用以下代码实现它:
我的控制器代码:
public ActionResult Portal(string name)
{
// some code
ViewData["Portal Name"] = name;
}
Run Code Online (Sandbox Code Playgroud)
来自Global.asax.cs的代码:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
只需将参数更改为id:
public ActionResult Portal(string id)
{
// some code
ViewData["Portal Name"] = id;
}
Run Code Online (Sandbox Code Playgroud)
如果参数与路由值标记具有相同的名称,则该参数将被绑定.因此,另一种方法是保持参数命名name并更改路径:
public ActionResult Portal(string name)
{
// some code
ViewData["Portal Name"] = name;
}
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{name}", // URL with parameters
new { controller = "Home", action = "Index", name = UrlParameter.Optional } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
我会选择使用id,因为这是更标准的方法.
| 归档时间: |
|
| 查看次数: |
3602 次 |
| 最近记录: |