0

これは本当ですか?私はビジュアルスタジオでmvc3アプリケーションに取り組んでおり、ヘッダーとして使用している画像をホームページへのリンクにしたいのですが、ローカルで実行しているだけなので、この行をコード:

<a href="localhost:60060">
<img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>

これはうまくいきません!私は何か間違ったことをしていますか、それともローカルホストをこれとして使用できないだけですか?

また、ページを更新するためにhrefとしてjavascriptメソッドを使用しようとしましたが、それも機能しませんでした:(

4

5 に答える 5

7

リンクはデフォルトでドメインから始まるため、指定する必要はありません。あなたはただ使うことができます/

<a href="/">
    <img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>
于 2012-07-11T18:46:13.180 に答える
2

HTML リンクは localhost で問題なく機能します。

<a href="http://localhost:60060/">
    <img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>

ここでの問題は、単に をlocalhost:60060使用して相対パスを使用しようとしているため、ブラウザが実際に探していることですhttp://localhost:60060/localhost:60060/。もちろん、これは無効なパスです。

また、アプリケーションのページ間をリンクするときに絶対パスを使用しないでください。これは、ドメイン名を変更する必要がある場合 (アプリケーションを Web にデプロイする場合など) に悪夢になるためです。

コードをより MVC に適したものにするには、次のようにします。

<a href="@Url.Action("Index", "Home")">
    <img src="@Url.Content("~/Content/images/LionLabs.png")" alt="Lion logo">
</a>

ここで何が起こっているかというと、ASP.NET MVCUrlヘルパーは、ページがユーザーに提供されるときに適切なパス情報を提供しているため、サーバーでの変更に自動的に対応します。またRoutes、リンクのルート (つまり URL) を簡単に変更でき、同じコントローラーとビューを使用できるため、最大限の効果を発揮することもできます。

于 2012-07-11T18:58:09.767 に答える
1

へのリンクは へのリンクと<a href="">同じです<img src="">

プロジェクトをデプロイすると、サイト名が localhost:60060 にならないため、絶対パスは使用しないでください。

メインページ用

<a href="/"></a>
于 2012-07-11T18:52:00.603 に答える
0

hrefとしてご利用いただきましlocalhost:60060た。それはページである必要があります(またはそのようなものかもしれませんdefault.html)。

于 2012-07-11T18:47:32.813 に答える
0

これを変える:

<a href="localhost:60060">
    <img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>

これに:

<a href="@Url.Action("Index", "Home")">
    <img src="@Url.Content("~/Content/images/LionLabs.png")" alt="Lion logo">
</a>

なんで?

@Url.ActionGlobal.asax で設定したカスタム ルーティングを使用するため、使用することをお勧めします。URL ルーティングを変更する必要がある場合、複雑なサイトのすべてのリンク参照を変更することを想像できますか? :)

を使用する@Url.Contentと、アプリケーションのルートに正しく解決され、../または../../またはを使用する際の不確実性がなくなります../../..。それはよりきれいです!

于 2012-07-11T18:55:56.233 に答える