39

Url.Content()ASP.NET MVC のメソッドから得られる利点を理解できません。たとえば、 が表示されますsrc='@Url.Content("~/Contents/Scripts/jQuery.js")'。なぜ使用する必要があるのですか?それを使用する理由は何ですか?のような単純な古い単純な参照を使用することよりも、どのような利点、利点などがありsrc='/scripts/jquery.jsますか?

更新:回答に基づいて、仮想フォルダーの処理以外に、それを使用する理由が他にあるかどうか知りたいですか? 仮想アプリケーションをあまり使用していないからです (もちろん、それほど使用されていないという意味ではありません)。

4

3 に答える 3

33

通常、Web アプリケーションは www.yoursite.com/ として公開されます。~ 文字は、サイトのルート / に一致します。

ただし、仮想ディレクトリ www.yoursite.com/mywebapp/ を使用してサイトを公開する場合、~ 文字は "/mywebapp/" と一致します。「/」文字を使用して URL をハードコーディングすると、間違ったページ参照が発生する可能性がありました。

于 2012-05-06T07:54:10.780 に答える
26

Mapping virtual paths is it's only purpose. If you do not ever need to map them and are sure your app or it folders will not sit under other apps then it won't serve you any purpose.

From the docs note if you don't use ~ you get no change in the result anyways: "Remarks If the specified content path does not start with the tilde (~) character, this method returns contentPath unchanged. "

于 2012-05-06T17:45:47.487 に答える
16

アプリケーションのルート パスがサーバーのルート パスでない場合に役立ちます。Url.Content("~/") は、アプリケーションのルート フォルダーを返します。

于 2012-05-06T07:49:10.753 に答える