asp.net-mvc – ASP.NET MVC路由Maproute参数
|
我正在进行MVC路由框架工作.我对RouteCollection.MapRoute方法所采用的参数感到有点困惑. 如果我采取了以下请求的传统示例 public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- List item
routes.MapRoute(
"Default",// Route name
"{controller}/{action}/{id}",// URL with parameters
new { controller = "Home",action = "Index",id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
它使用以下签名进行映射 public static Route MapRoute(
this RouteCollection routes,string name,string url,Object defaults
)
我的问题是关于“对象默认值”, >为什么我们将它用作新的{controller =“Home”,action =“Index”,id =“”} 跟进问题: 一个.为什么我们在一个括号{}内装饰控制器,动作或id? 湾URL指定和默认值之间是否有匹配? 解决方法
基本上用默认值初始化路由.传递给MapRoute方法的值转换为IDictionary< string,object>供以后查找. Is this is a fixed format? 不,您可以根据您的网址省略或添加更多值.您在默认值中指定的值将用于查找. 例如,您可以设置路径名称Search,如下所示: routes.MapRoute(
name: "Search",url: "{controller}/{action}/{searchId}",defaults: new {controller = "Account",action = "Login",searchId = UrlParameter.Optional}
);
通过将它们添加到Dictionary中(准确地说是RouteValueDictionary).
简短的回答,这是一个约定……根据MSDN的长答案,摘录自MSDN Article
b. Is there any match in between URL specify and defaults? 是的,默认值是URL中的占位符.如果添加更多默认值然后添加占位符,则会忽略它.如果URL中未包含该参数的值,则使用默认值. 有关更多信息,我将向您指出这个优秀的MSDN Article. 希望这可以帮助. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 实体框架更新实体以及子实体(必要时添加/更
- asp.net-mvc – AJAX在IIS 7.5中返回404(本地),但在其他IIS
- asp.net – 在客户端启用/禁用RequiredValidator /不启动Cu
- asp.net-mvc – Html.BeginForm()与GET方法
- asp.net-mvc – 在请求之间保持/缓存数据 – 常用方法
- asp.net – 自动将视频格式转换为Flash Video
- asp.net – UpdatePanel回发后调用Javascript函数问题
- asp.net-mvc – 如何仅刷新MVC 5中的部分索引页面?
- 通过Asp.net中Button的CommandArgument传递多个参数
- asp.net – 在什么情况下,.NET进程和AppDomains在内存中共享
- 如何在ASP.NET MVC中创建CheckBoxListFor扩展方法
- ASP.NET – DataSourceID和DataSource有什么区别
- asp.net-mvc – 何时公开IEnumerable而不是IColl
- 在ASP.NET Core 2.0 / Angular模板应用程序上发布
- asp.net-web-api2 – SwashBuckle / Swagger –
- ASP.net – 多个上传与jQuery多文件上传插件
- asp.net – 如何跟踪IIS服务器性能
- asp.net-mvc – 如何在MVC中测试ModelMetadata.F
- 在文件系统中获取ASP.NET MVC站点的路径
- ADO.NET读书笔记系列
