提问人:VoidKing 提问时间:9/4/2013 最后编辑:VoidKing 更新时间:9/4/2013 访问量:252
我可以在我的 .cs 文件中实现什么 using 指令,让我使用“WebPageExecutingBase.Href()”方法?
What using directive can I implement in my .cs file that will let me use the "WebPageExecutingBase.Href()" Method?
问:
我有一个生成 HTML 的文件。在其中,我想通过使用该方法使这段代码更加万无一失,我之前在许多cshtml文件中都做过(主要是使用波浪号)。.cs
WebPageExecutingBase.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
答:
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
谢谢。我从来没想过会这么:)
评论