ror*_*ory 5 asp.net-mvc asp.net-mvc-5
我是MVC的新手,所以请关注我,因为我只在MS Tutorial的第二页(参见最后一个代码示例).对于HelloWorldController,添加了以下MapRoute:
routes.MapRoute(
name: "Hello",
url: "{controller}/{action}/{name}/{id}");
Run Code Online (Sandbox Code Playgroud)
我只是想知道,它是纯粹的模式匹配工作和名称"你好"只是为了我自己的参考?如果是这样,是不是应该遵循命名约定,说MapRoute应该被称为HelloWorldWelcome,其中welcome是HelloWorldController.cs中的一个方法(见上面的链接).还是我迂腐?
UrlHelper
类也使用路由名称。例如:
var url = Url.Route("Hello", new
{
controller = "SomeController",
action = "SomeAction",
name = "charlie",
id = 123
});
Run Code Online (Sandbox Code Playgroud)
这将生成一个匹配的 URL。
当您使用属性路由时,此功能更有用。例如,如果在某个控制器上您有一个操作:
[RoutePrefix("api/phonebook")]
public class PhonebookController
{
[HttpGet("contact/{id}", Name = "GetContact")]
public Contact GetContact(int id)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
在其他代码中,您可以Url.Route("GetContact", new { id = 7 })
用来生成 URL /api/phonebook/contact/7
。
归档时间: |
|
查看次数: |
4150 次 |
最近记录: |