Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从ASP MVC控制器打开文件_C#_.net_Asp.net Mvc_Asp.net Mvc 3_File Io - Fatal编程技术网

C# 从ASP MVC控制器打开文件

C# 从ASP MVC控制器打开文件,c#,.net,asp.net-mvc,asp.net-mvc-3,file-io,C#,.net,Asp.net Mvc,Asp.net Mvc 3,File Io,在我们的ASP MVC视图中,我们有指向局域网上文件的链接。在IE中,这很好,但是在Chrome中,你可以全天点击链接,什么都不会发生。我们是一家微软商店,所以一些Office文档似乎与谷歌的浏览器不兼容 作为解决方法,我只想创建一个控制器方法,该方法将获取文件的位置,作为参数从Html.ActionLink中传入,然后打开它。这是我的第一次演讲: public void OpenAttachment(string location) { Process proc

在我们的ASP MVC视图中,我们有指向局域网上文件的链接。在IE中,这很好,但是在Chrome中,你可以全天点击链接,什么都不会发生。我们是一家微软商店,所以一些Office文档似乎与谷歌的浏览器不兼容

作为解决方法,我只想创建一个控制器方法,该方法将获取文件的位置,作为参数从
Html.ActionLink
中传入,然后打开它。这是我的第一次演讲:

    public void OpenAttachment(string location)
    {
        Process proc = new Process();
        proc.StartInfo = new ProcessStartInfo(location);
        proc.Start();
    }
这将仅打开文件,但当浏览器试图导航到文件位置时,网页将完全变为空白(LAN地址显示在导航窗口中)


有没有人知道实现这一点的更好方法,或者我需要做什么来调整我目前拥有的方法

只需在链接中添加一个
target=“\u blank”
属性,并将其用作解决方法。但是,如果有一个更优雅的解决方案,我会更喜欢

不完全确定这是否是您想要的,但您是否尝试过FileResult

public FileResult OpenAttachment(string location)
{
    return File(location, "Application/{YOURTYPEHERE}");
}

为什么不尝试用Chrome解决这个问题呢?您能粘贴视图吗?您的链接呈现错误。使用@html.Raw(link)(从视图中)解析路径。
@html.Raw
只需将路径作为文本放置在页面上。你的意思是在
ActionLink
中使用它吗?是的,试试看。正在渲染的路径看起来是错误的。它在里面加了符号。