ASP MVC3 - 链接到共享文件夹上的文件

时间:2013-04-01 21:14:16

标签: asp.net-mvc asp.net-mvc-3

在我的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

2 个答案:

答案 0 :(得分:0)

可能不是使用助手的情况,为什么不只是

<a href="@Html.Raw(filepath)">Download</a>

答案 1 :(得分:0)

ActionLink用于指向控制器操作的链接,而不是绝对链接。

您根本不需要HTML帮助程序,只需直接渲染:

<a href="file://<%= myUncPath %>">click me</a>