在 Asp.Net MVC3 中创建外部链接



我知道有很多实用程序和帮助程序类/方法可以从内部路由和控制器生成URL和链接。 但是,您将如何在MVC 3中解决以下问题?

在剃须刀文件中,有人定义了这个:

<a href="http://@Model.Details.ExternalURL" target="_blank">Website</a>

在这种情况下,ExternalURL将保存类似 www.yoursite.com 的值,不带任何前缀。 一开始就对http://进行硬编码显然是禁忌,但如何最好地处理这个问题?

在你的情况下,硬编码 http://并不是那么糟糕,但如果你想避免它,我看到的选择很少,但也许最正确的是用属性@Model.Details.ExternalUrlLink或类似的东西扩展你的模型。在 getter 中,您可以在原始值上执行任何您想要的逻辑,例如,如果未显示前缀,则连接 http://前缀