クリックしたときに別のページにリダイレクトされる画像があります。リンクが内部(アプリケーションのページ)であるか外部リンクであるかを知る方法が必要です。リンクが外部の場合は、新しいタブでポップアップし、同じタブに内部ポップアップが表示されます。内部リンクと外部リンクの違い
これはコードセクションです。
<a class="lnkImage" href="@item.ImageURL" target="_blank">
<img id="PrivateimgPreview" src="@item.ActualImage" />
</a>
ImageURLと実際の画像はモデルからのものです。基本的には、この機能が必要です。
if(External)
{
<a class="lnkImage" href="@item.ImageURL" target="_blank">
<img id="PrivateimgPreview" src="@item.ActualImage" />
</a>
}
else if(internal)
{
<a class="lnkImage" href="@item.ImageURL">
<img id="PrivateimgPreview" src="@item.ActualImage" />
</a>
}
私はRequest.Url.Hostを使用して、私がホストを取得し、それを比較できることを承知していますが、それはそれをハードコーディング意味するであろうと、異なるホストに変更する必要があります。ビュー内の@ item.ImageURLのドメインを一般的に調べる方法はありますか?
更新:私は自分のウェブサイトのドメインとコントローラの@ item.ImageURLのドメインの両方に対してRequest.URLを行い、モデルにブール値を設定することができますが、このようなセクションが4つあります。イメージ用の1つのリンク、イメージヘッダー用のリンク、イメージの詳細用のリンクなど。ですから、私は4つの新しいモデルオブジェクトを導入し、それぞれのモデルオブジェクトをコントローラに設定します。だから私はそれをビューで比較することが可能であることを望む。
基本的には、各画像 'Request.Url.Host'を' item.ImageURL'で比較する必要があります。それらが異なる場合(リンクが外部の場合)、画像リンク 'target =" _ blank "に属性を追加してください。 – myroman