我可以在我的 .cs 文件中实现什么 using 指令,让我使用“WebPageExecutingBase.Href()”方法?

What using directive can I implement in my .cs file that will let me use the "WebPageExecutingBase.Href()" Method?

提问人:VoidKing 提问时间:9/4/2013 最后编辑:VoidKing 更新时间:9/4/2013 访问量:252

问:

我有一个生成 HTML 的文件。在其中,我想通过使用该方法使这段代码更加万无一失,我之前在许多cshtml文件中都做过(主要是使用波浪号)。.csWebPageExecutingBase.Href()~

但是,如果我只包含波浪号,则生成的 HTML 上的链接会断开:

string html = "<a href=\"~/SomeFolder/SomeFile.cshtml\">Link</a>"; //Generates a broken link.

但是我似乎无法导入适当的 using 指令以仅在文件环境中与该方法一起使用。Href().cs

我试过:

using System.Web;

using System.Web.WebPages;

然后尝试使用 ,但是当“WebPageExecutingBase”部分显示在 Intellisense 中时,“Href()”没有(实际上,生成服务器端错误,需要第二个“对象”参数,但我之前多次使用过相同的方法,只有一个参数)。WebPageExecutingBase.Href()

我试图在这里查找有关它的信息: http://msdn.microsoft.com/en-us/library/system.web.webpages.webpageexecutingbase(v=vs.111).aspx 但无济于事。

我以为我有这个权利,但现在我什至不确定我是否可以在这里使用这种方法。

有没有办法在 C# 文件中的字符串中生成的 HTML 中实现方法(或其中的相同功能)?Href().cs

使用 语句 using C# Webmatrix

评论


答:

3赞 Mike Brind 9/4/2013 #1

Href 方法不适用于类。应改用 VirtualPathUtility。您需要为 System.Web 添加一个 using 指令,然后执行以下操作:

string html = string.Format("<a href=\"{0}\">Link</a>", VirtualPathUtility.ToAbsolute("~/SomeFolder/Somefile.cshtml"));

评论

0赞 VoidKing 9/4/2013
谢谢。我从来没想过会这么:)