【问题标题】:Is there a general ASP.NET MVC helper for generating links?是否有用于生成链接的通用 ASP.NET MVC 助手?
【发布时间】:2011-06-28 08:33:47
【问题描述】:

我知道用于生成指向应用程序操作的链接的 ASP.NET MVC ActionLink 帮助器,并且发现它非常有用。但是,我还没有找到相应的帮助程序来生成基于绝对 URL(即外部资源)的链接。有没有为此目的的助手?

编辑: 为了让我的问题绝对清楚,我(显然)不是在寻找一种生成 URL 部分的方法,就像 ActionLink 生成操作 URL 的方式一样。我只对安全简单的超链接生成感兴趣。

【问题讨论】:

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


    【解决方案1】:

    恐怕没有。但是,如果您希望视图在一致的 Helper 格式下看起来不错,您可以为此编写自己的助手。

    http://www.asp.net/mvc/tutorials/creating-custom-html-helpers-cs

    【讨论】:

    • 谢谢,我想我会自己动手的。在我看来,它应该内置在 ASP.NET MVC 中,就像在 Rails 中一样。
    【解决方案2】:

    您不需要帮助器,您的操作链接的帮助器可以让您的路由正常工作并获得漂亮的网址。您需要知道外部 url,所以除了将它们放在配置中之外没有真正的捷径。

    【讨论】:

    【解决方案3】:

    当你有绝对网址时,为什么不使用<a> 标签?

    【讨论】:

      【解决方案4】:

      不,例如 Url.Action 是用于从在Global.asax.cs 中注册的路由生成 Url 的那个,但是既然你说外部和绝对的,为什么会有一个生成器呢?

      【讨论】:

        【解决方案5】:

        没有,因为绝对 URL 中没有特殊的路由信息​​有利于使用帮助程序生成。您可以简单地使用标准 HTML 标记 - 坦率地说,它比辅助标记更易于阅读和自定义。但是,如果您真的更愿意使用帮助程序,那么you can always make your own

        【讨论】:

        • ActionLink 不仅仅是路由,它还处理链接正文的编码(例如,翻译'&')。我希望通过通用链接获得同样的便利。
        • 如果您需要的是 URL 编码,那么这可以通过一个简单的方法调用来实现你需要然后这在 Razor 视图中是自动的,并且在使用 语法的传统视图中很容易实现。
        • 啊,不知道 HTML 编码在 Razor 中是自动的,谢谢。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-21
        • 2011-05-21
        • 2013-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多