2

.csHTML を生成するファイルがあります。WebPageExecutingBase.Href()その中で、以前に多くのcshtmlファイルで行った方法を使用して(主にチルダを使用して)、このコードをもう少しばかげたものにしたいと思います~

ただし、チルダだけを含めると、生成された 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()」は表示されません (そして、実際には、2 番目の「オブジェクト」引数を要求するサーバー側のエラーが生成されますが、私は使用しました引数が 1 つだけのこの同じメソッドを複数回前に)。

ここで情報を調べてみました: 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 に答える