如何在我的Mvc.sitemap中使用带有查询的外部链接?

时间:2017-03-02 21:06:15

标签: c# asp.net-mvc mvcsitemapprovider

我正在使用MvcSiteMapProvider,并且我正在尝试包含在我的Mvc.sitemap中的链接,该链接包含查询并导致心爱的

'=' is an unexpected token. The expected token is ';'

错误。我的问题是如何在查询中插入网址?

<mvcSiteMapNode title="Trust Login" featuredLinkLocation="BusinessBanking" mainNavDisplay="false"  targetFrame="_blank" url="https://www.birdseye.com/login/Login.jsp?APPNAME=2&CLIENT=0&SAMUser=Y&TYPE=33554433&REALMOID=06-0005cdda-b874-1210-b84b-0a3fac12902c&GUID=&SMAUTHREASON=0&METHOD=GET&SMAGENTNAME=zJHq58lqPjf0BKoJX0w61BXvXBLCcR9tuX9XjbuTZIhHMGjYANxxSXrmTozblmwF&TARGET=$SM$https%3a%2f%2fwww%2eaccount3000%2ecom%2fchemical%2f" />

1 个答案:

答案 0 :(得分:1)

与您放入XML的任何数据一样,您必须escape your string。也就是说,&不是XML中的有效字符,应替换为&amp;

<mvcSiteMapNode title="Trust Login" featuredLinkLocation="BusinessBanking" 
    mainNavDisplay="false"  targetFrame="_blank" 
    url="https://www.birdseye.com/login/Login.jsp?APPNAME=2&amp;CLIENT=0&amp;SAMUser=Y&amp;TYPE=33554433&amp;REALMOID=06-0005cdda-b874-1210-b84b-0a3fac12902c&amp;GUID=&amp;SMAUTHREASON=0&amp;METHOD=GET&amp;SMAGENTNAME=zJHq58lqPjf0BKoJX0w61BXvXBLCcR9tuX9XjbuTZIhHMGjYANxxSXrmTozblmwF&amp;TARGET=$SM$https%3a%2f%2fwww%2eaccount3000%2ecom%2fchemical%2f" />
  

注意:我没有运行此功能 - 您的字符串中可能还有其他字符需要XML转义。如果您想完全避免XML转义问题,请考虑对这些节点使用dynamic node provider而不是XML配置。