首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC SiteMapProvider允许节点具有相同的URL

MVC SiteMapProvider允许节点具有相同的URL
EN

Stack Overflow用户
提问于 2016-03-10 03:17:06
回答 1查看 80关注 0票数 0

是否有允许具有相同URL的多个节点的设置?我们已经建立了一个小的CMS类型的系统,网站内容管理员可以添加新的网页内容和小部件到网站。它们有时会错误地将相同的名称添加到同一父节点下的多个页面中,从而导致两个节点具有相同的URL。我宁愿不显示和忽略复制,也不愿抛出异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 07:14:24

URL (提供时)用作字典的键。根据定义,字典的键必须是唯一的。即使删除了重复的URL检查,字典也会抛出一个更神秘的重复键异常。

在使用IDynamicNodeProviderISiteMapNodeProvider阅读数据之前,我建议对其进行消毒。

选项

  1. 在允许保存URL之前,向数据输入表单添加检查以确保URL是唯一的。
  2. 对数据库中的URL字段设置一个唯一约束,以便在数据输入时抛出异常,而不是在读取异常时抛出异常。
  3. 在查询中添加一个不同的过滤器,以便在将重复的URL记录添加到SiteMap时只考虑其中一个重复的URL记录。
  4. 考虑在使用数据驱动URL时使用controlleractionid (从主键)。唯一真正需要的是数据驱动的are the Routes,URL将在MvcSiteMapProvider中得到正确的解析。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35906913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档