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

时间:2013-09-03 16:48:33

标签: c# webmatrix using using-statement using-directives

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

但是,如果我只包含代字号,则生成的HTML上的链接会被破坏:

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

但我似乎无法在Href()文件的环境中导入适当的using指令用于.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但无济于事。

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

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

1 个答案:

答案 0 :(得分:3)

Href方法不适用于类。您应该使用VirtualPathUtility。您需要为System.Web包含using指令,然后执行此操作:

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