默认的动态数据模板中是否需要PageAction.Details路由?

时间:2020-03-06 14:49:05  来源:igfitidea点击:

在动态数据Web应用程序的默认Visual Studio模板中,Global.asax包括以下两个示例路由。

// 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唯一起作用的时间是我们是否从路线引擎请求详细信息页面URL。因为ListDetails.aspx页面模板同时处理列表视图和详细信息视图,所以它从不请求详细信息模板URL。