我正在创建一个ASP.NET网站,其中所有页面都悬挂在数据库驱动的树层次结构中。页面通常呈现HTML内容。但是,有些人会执行编程。
示例:
我应该如何表示/引用数据库中的编程?我应该具有Web用户控件(.ascx)名称的varchar值吗?或Web表单(.aspx)名称?别的什么?或者它应该只是我的应用程序中的字典中的整数或其他此类ID?
我可以使用这种结构制作ASP.NET站点地图提供程序吗?
在此处查看更多信息:Which is the best database schema for my navigation?
答案 0 :(得分:2)
您可以考虑在特定页面的数据库中插入<my:contact-us-form/>
等占位符;这样,数据库就可以描述所有静态文本内容,而不是用.ascx
控件完全替换数据库驱动的内容。
答案 1 :(得分:1)
我们的开发团队成功地在数据库中定义了Web用户控件的名称。在页面加载时,它还会检查从数据库动态加载的控件。
我们使用Web用户控件而不是Web窗体,以确保我们可以在任何页面上使用该控件。
您还可以使用ASP.Net的提供程序动态构建站点地图。 CodeProject有一个很好的例子。