2

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

但是,如果我只包含波浪号,则生成的 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.Href(),但是虽然“WebPageExecutingBase”部分出现在 Intellisense 中,但“Href()”却没有(实际上,它会生成一个服务器端错误,需要第二个“对象”参数,但我使用过同样的方法,之前只有一个参数多次)。

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

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

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

4

1 回答 1

3

Href 方法不适合在类中使用。您应该改用 VirtualPathUtility。您将需要为 System.Web 包含 using 指令,然后您将执行以下操作:

string html = string.Format("<a href=\"{0}\">Link</a>", VirtualPathUtility.ToAbsolute("~/SomeFolder/Somefile.cshtml"));
于 2013-09-04T06:30:03.673 回答