我是ASP.NET的新手,我被要求更改菜单中一个条目的标签。一个非常简单的任务。问题是新值包含斜杠" /" ,现在这样的句子:
MyMenu.FindItem("XXX/YYY")
无法找到菜单元素。
当没有斜线时,代码正常工作;例如,当我用短划线替换斜线时。不幸的是,我必须使用斜杠。
编辑:
MyMenu 是 System.Web.UI.WebControls.Menu
站点地图文件包含此行
<siteMapNode url="SomePage.aspx" title="XXX/YYY" description="Some Description" />
原始标签完全不同。如果出于测试目的,我将&#34; XXX / YYY&#34; 替换为&#34; XXX-YYY&#34; 或&# 34; XXX YYY&#34; 它正常工作。
答案 0 :(得分:1)
/
是WebControls.Menu对象的默认pathseparator
。 FindItem
按完整路径匹配菜单项,因此当您在菜单项的名称中放置/
时,它认为它需要遍历路径。它在名为“XXX”的菜单项下找不到名为“YYY”的菜单项,因此找不到任何内容。
尝试将pathseparator
属性设置为菜单项中未使用的属性,例如逗号,
或管道|
。