2008-09-27 58 views
1

在动态数据Web应用程序的默认Visual Studio模板中,Global.asax包含以下两个示例路由。默认动态数据​​模板中是否需要PageAction.Details路由?

// route #1 
routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") { 
    Action = PageAction.List, 
    ViewName = "ListDetails", 
    Model = model 
}); 

// route #2 
routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") { 
    Action = PageAction.Details, 
    ViewName = "ListDetails", 
    Model = model 
}); 

它们只有Action属性不同。 Global.asax中的注释表示这两条路径用于配置处理所有CRUD行为的单个页面。

为什么路线#2是必要的?它有什么作用吗? ListDetails.aspx不查看路由的Action属性。看起来,当我注释掉路由#2并且我在Global.asax中只有路由#1时,一切运行良好。路线#2看起来像没有使用过。

回答

2

你说得对,在这种情况下不会使用路线#2。唯一的时间路线#2将起作用,如果您从路线引擎请求详细信息页面URL。由于ListDetails.aspx页面模板处理列表和详细信息视图,因此它永远不会请求详细信息模板URL。