Asp.net mvc 在Asp.NETMVC3中创建外部链接

Asp.net mvc 在Asp.NETMVC3中创建外部链接,asp.net-mvc,url,Asp.net Mvc,Url,我知道有很多实用程序和助手类/方法用于从内部路由和控制器生成URL和链接。但在MVC3中,您将如何处理以下问题 在razor文件中,有人定义了以下内容: <a href="http://@Model.Details.ExternalURL" target="_blank">Website</a> 此实例中的ExternalURL将包含类似www.yoursite.com的值,不带任何前缀。一开始,硬编码http://显然是一个禁忌,但如何最好地处理这个问题?在您的情

我知道有很多实用程序和助手类/方法用于从内部路由和控制器生成URL和链接。但在MVC3中,您将如何处理以下问题

在razor文件中,有人定义了以下内容:

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


此实例中的
ExternalURL
将包含类似
www.yoursite.com
的值,不带任何前缀。一开始,硬编码http://显然是一个禁忌,但如何最好地处理这个问题?

在您的情况下,硬编码http://并不坏,但如果您想避免它,我看到了一些选项,但最正确的方法可能是使用property@model.Details.externallink或类似的东西扩展您的模型。在getter中,您可以对原始值执行任何逻辑操作,例如,如果未显示http://prefix,则将其连接起来

为什么硬编码http不好?我会使ternalulr成为完全限定的url字符串。然后@dbaseman——也许还不错,但我希望有一些灵活性,以防需要https连接。我想四十二有个好主意。