在我的ASP MVC3站点的一个页面上,我需要包含一个指向一个或多个文件的链接,这些文件位于我们在办公室使用的共享驱动器上。我将文件的地址保存在数据库中,并尝试将其呈现为我们视图中的链接。
使用@Html.ActionLink,我非常确定使用的控件是错误的,我得到以下错误:
[HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (&).]
   System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9021001
   System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +59但是,使用其他@Html链接控件的和并不起作用。
其中一个问题是,我们不想通过允许下载来创建文件的多个副本。我们只是想链接到这个文件,在它指定的位置,并允许用户在该副本上工作。Windows有一个功能,允许你点击文件路径,如果通过电子邮件或word文档发送,将打开该文件。这就是我们要实现的功能类型。
以下是当前导致问题的示例地址:
\\Prdhilfs02\l&i-systems\WORKAREA\AgencySystems\SHARED\DSSProj\PRDSUP\Defects\TD14734 Agent Welcome Letters\Welcome Letters v1.2.doc当将其呈现为HTML时,它看起来如下所示:
/%5C%5CPrdhilfs02%5Cl%26i-systems%5CWORKAREA%5CAgencySystems%5CSHARED%5CDSSProj%5CPRDSUP%5CDefects%5CTD14734%20Agent%20Welcome%20Letters%5CWelcome%20Letters%20v1.2.doc发布于 2013-04-02 05:17:42
可能不适合使用帮助器,为什么不干脆
<a href="@Html.Raw(filepath)">Download</a>发布于 2013-04-02 05:18:20
ActionLink用于指向控制器操作的链接,而不是绝对链接。
你根本不需要HTML-helper,直接渲染就可以了:
<a href="file://<%= myUncPath %>">click me</a>https://stackoverflow.com/questions/15752006
复制相似问题