我有一个生成 HTML 的 .cs
文件。在其中,我想通过使用 WebPageExecutingBase.Href()
方法使这段代码更加简单,我之前在许多 cshtml 文件中已经这样做了(主要是使用波形符 ~
)。
但是,如果我仅包含波形符,则生成的 HTML 上的链接会损坏:
string html = "<a href=\"~/SomeFolder/SomeFile.cshtml\">Link</a>"; //Generates a broken link.
但我似乎无法单独在 .cs
文件环境中导入适当的 using 指令以与 Href()
方法一起使用。
我已经尝试过:
using System.Web;
using System.Web.WebPages;
然后尝试使用 WebPageExecutingBase.Href()
,但是虽然“WebPageExecutingBase”部分显示在 Intellisense 中,但“Href()”却没有(事实上,生成了一个服务器) -side 错误要求第二个“对象”参数,但我之前多次使用过仅使用一个参数的相同方法)。
我尝试在这里查找相关信息:http://msdn.microsoft.com/en-us/library/system.web.webpages.webpageexecutingbase(v=vs.111).aspx但没有效果。
我以为我是对的,但现在我什至不确定我是否可以在这里使用这个方法。
是否有任何方法可以在 .cs
C# 文件中的字符串中生成的 HTML 中实现 Href()
方法(或其中的相同功能)?
最佳答案
Href 方法不适用于类。您应该使用 VirtualPathUtility。您需要包含 System.Web 的 using 指令,然后您将执行以下操作:
string html = string.Format("<a href=\"{0}\">Link</a>", VirtualPathUtility.ToAbsolute("~/SomeFolder/Somefile.cshtml"));
关于c# - 我可以在 .cs 文件中实现什么 using 指令来让我使用 "WebPageExecutingBase.Href()"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597506/