如果该文件存在于asp.net mvc中,则返回链接

杰森

我需要显示指向文件的链接,但前提是该文件存在。到目前为止,我已经尝试扩展UrlHelper,HtmlHelper和MvcHtmlString,但是它们似乎都没有提供我需要的结果。

我确定我做错了什么,但我不知道那是什么。UrlHelper扩展似乎很接近,但是View将链接显示为文本而不是锚点。

public static class UrlHelperExtensions
{
    public static string Pdf(this UrlHelper helper, string fileName, string directory)
    {
        string _fileName = fileName + ".pdf";
        string _directory = directory + "/";

        string root = "~/Content/Templates/";

        string path = HttpContext.Current.Server.MapPath(root + _directory + _fileName);

        if (File.Exists(path))
        {
            return helper.Content("<a href=\"" + root + _directory + _fileName + "\" target=\"_blank\">Download Template</a>");
        }
        else
        {
            return "";
        }            
    }
}

然后@Url.Pdf(Model.Item.Number, "Retail")给我文字

<a href="~/Content/Templates/Retail/1001.pdf" target="_blank">Download Template</a>

在页面上,而不是实际的链接上。

Raidri支持Monica

您必须HtmlString像这样使用

public static HtmlString Pdf(this UrlHelper helper, string fileName, string directory)
{
    string _fileName = fileName + ".pdf";
    string _directory = directory + "/";

    string root = "~/Content/Templates/";

    string path = HttpContext.Current.Server.MapPath(root + _directory + _fileName);

    if (File.Exists(path))
    {
        return new HtmlString(helper.Content("<a href=\"" + root.Replace("~", "") + _directory + _fileName + "\" target=\"_blank\">Download Template</a>"));
    }
    else
    {
        return new HtmlString("");
    }            
}

编辑:修复了root字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果文件存在于asp.net mvc中,则返回链接

来自分类Dev

如何检查文件是否存在于ASP.NET MVC 4中

来自分类Dev

NtCreateFile返回STATUS_OBJECT_NAME_NOT_FOUND,即使该文件存在于目录中

来自分类Dev

显示文件(如果存在于给定路径中)

来自分类Dev

如果文件存在于python中,如何获取路径?

来自分类Dev

如果存在于 csv 文件的列中,则替换值

来自分类Dev

检查ascx控件是否存在于预编译的asp.net网站中

来自分类Dev

正在创建配置单元表:没有文件与路径文件匹配...但是该文件存在于路径中

来自分类Dev

使用asp.net在其值存在于不同表中的GridView中显示名称而不是Id

来自分类Dev

使用 asp.net 时,如何检查我的 pin 是否存在于 SQL 数据库中?

来自分类Dev

如果存在于列表中,则包含返回 False

来自分类Dev

FileInfo.BaseName存在于PowerShell中,但不存在于直接的.NET中

来自分类Dev

删除单个.txt文件(如果存在于Visual Basic中)?

来自分类Dev

使用Powershell删除短语列表(如果它们存在于文本文件中)

来自分类Dev

如果该行的字段存在于另一个文件中,则删除该行

来自分类Dev

如果名称存在于dbo.table数据中,则SSIS移动文件

来自分类Dev

链接到MVC 5 ASP.NET中的文件

来自分类Dev

VB.NET从数组中删除字符串(如果存在于另一个数组中)

来自分类Dev

在 asp.net mvc 中返回操作

来自分类Dev

当 Dockerfile 存在于该文件夹中时,如何将任何文件夹复制到 Docker 容器?

来自分类Dev

jQuery:如果键存在于数组中,则获取值

来自分类Dev

如果键,值对存在于字典中,则跳过python

来自分类Dev

如果项已经存在于HashSet中,则警告用户

来自分类Dev

删除过程(如果存在于DB Oracle中)

来自分类Dev

如果条件存在于导轨中,则应用

来自分类Dev

jQuery,如果cookie存在于数组中

来自分类Dev

删除字典值(如果它们存在于集合中)

来自分类Dev

如果项已经存在于HashSet中,则警告用户

来自分类Dev

如果元素存在于CsQuery中,则如何解包?

Related 相关文章

  1. 1

    如果文件存在于asp.net mvc中,则返回链接

  2. 2

    如何检查文件是否存在于ASP.NET MVC 4中

  3. 3

    NtCreateFile返回STATUS_OBJECT_NAME_NOT_FOUND,即使该文件存在于目录中

  4. 4

    显示文件(如果存在于给定路径中)

  5. 5

    如果文件存在于python中,如何获取路径?

  6. 6

    如果存在于 csv 文件的列中,则替换值

  7. 7

    检查ascx控件是否存在于预编译的asp.net网站中

  8. 8

    正在创建配置单元表:没有文件与路径文件匹配...但是该文件存在于路径中

  9. 9

    使用asp.net在其值存在于不同表中的GridView中显示名称而不是Id

  10. 10

    使用 asp.net 时,如何检查我的 pin 是否存在于 SQL 数据库中?

  11. 11

    如果存在于列表中,则包含返回 False

  12. 12

    FileInfo.BaseName存在于PowerShell中,但不存在于直接的.NET中

  13. 13

    删除单个.txt文件(如果存在于Visual Basic中)?

  14. 14

    使用Powershell删除短语列表(如果它们存在于文本文件中)

  15. 15

    如果该行的字段存在于另一个文件中,则删除该行

  16. 16

    如果名称存在于dbo.table数据中,则SSIS移动文件

  17. 17

    链接到MVC 5 ASP.NET中的文件

  18. 18

    VB.NET从数组中删除字符串(如果存在于另一个数组中)

  19. 19

    在 asp.net mvc 中返回操作

  20. 20

    当 Dockerfile 存在于该文件夹中时,如何将任何文件夹复制到 Docker 容器?

  21. 21

    jQuery:如果键存在于数组中,则获取值

  22. 22

    如果键,值对存在于字典中,则跳过python

  23. 23

    如果项已经存在于HashSet中,则警告用户

  24. 24

    删除过程(如果存在于DB Oracle中)

  25. 25

    如果条件存在于导轨中,则应用

  26. 26

    jQuery,如果cookie存在于数组中

  27. 27

    删除字典值(如果它们存在于集合中)

  28. 28

    如果项已经存在于HashSet中,则警告用户

  29. 29

    如果元素存在于CsQuery中,则如何解包?

热门标签

归档