我有一个图像,当点击后,重定向到另一个页面。我需要一种方法来知道链接是内部的(应用程序页面)还是外部链接。如果链接是外部的,我希望它弹出一个新的标签,如果它是内部弹出在同一个标签。内部和外部链接之间的差异
这是代码部分。
<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的域?
UPDATE:我可以为我的网站的域和控制器中的@ item.ImageURL的域做Request.URL,并在我的模型中设置一个布尔值,但是我有4个这样的部分。一个图像链接,一个图像标题,一个图像细节等等。所以这会让我介绍4个新的模型对象,将它们中的每一个都设置在控制器中。所以我希望它有可能在视图中进行比较。
你基本上需要比较每个图像'Request.Url.Host'和'item.ImageURL'。如果它们不同(链接是外部的),则将属性添加到图像链接'target =“_ blank”'。 – myroman