【发布时间】:2016-02-24 21:52:13
【问题描述】:
对于我们的顶部菜单,我们使用了一个基本上从 XML 文件中读取的自定义控件。控件名称为SCS.MultiMenu。
其中一个菜单项是一份报告,其链接如下:
http://MyServer/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport
使用该 URL 正确生成报告。
因此,在 XML 文件中,菜单项如下所示:
<MenuItem Text="My report"
Url="http://MyServer/ReportServer/Pages/ReportViewer.aspx?/Folder/Report"
PostBack="False"/>
当我点击这个菜单项时,我被重定向到以下链接,这是不正确的:http://myserver/ReportServer/Pages/ReportViewer.aspx? 如您所见,它删除了问号后面的所有内容。
我尝试使用转义序列来查看它是否接受正确的 URL(即 ? 表示 问号 (?) 和 / 表示斜杠),但它继续剪切“?”之后的所有内容。我尝试过这样的事情:
http://MyServer/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport
可能是什么问题?我什至尝试将每个字符都切换为 escpae 序列,但没有奏效。
我认为这可能是此菜单控件中的错误,但它没有意义。
我包含了我尝试过的所有内容以及单击 URL 时的样子:
http://MyServer/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport
>> http://myserver/ReportServer/Pages/ReportViewer.aspx?
http://MyServer/ReportServer/Pages/ReportViewer.aspx?path=%2FFolder%2FReport
>> http://myserver/ReportServer/Pages/ReportViewer.aspx?path=/Folder/Report&
http://MyServer/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport
>> http://myserver/ReportServer/Pages/ReportViewer.aspx?
http://MyServer/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport=
>> http://myserver/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport=&
http://MyServer/ReportServer/Pages/ReportViewer.aspx?=/Folder/MyReport
>> http://myserver/ReportServer/Pages/ReportViewer.aspx?=/Folder/MyReport&
谢谢
【问题讨论】:
-
/不能用于查询部分url,我觉得你的url应该是http://MyServer/ReportServer/Pages/ReportViewer.aspx?path=%2FFolder%2FReport提示:WebUtility.UrlEncode("/Folder/Report") -
我不认为是
/。如果我切换?/使/在?之前,则?之后的所有内容都将被剪切。所以生成的链接看起来像http://myserver/ReportServer/Pages/ReportViewer.aspx/? -
百分比编码不起作用。我在
ReportViewer.aspx之后将每个/切换到%2F,它只需要我到http://myserver/ReportServer -
我做了,它实际上显示了整个链接,但最后有一个
=&。它会将我重定向到http://myserver/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport=&。不幸的是,由于某种原因,最后的那两个字符显示了/ReportServer/的内容 -
在地址栏中可以看到
http://myserver/ReportServer/Pages/ReportViewer.aspx?/Folder/MyReport=&,但是在浏览器中可以看到http://myserver/ReportServer的内容。
标签: c# asp.net xml asp.net-4.0