您好,
我有这样的地址:〜/ Content / Files / AdImages / 20 / 20_thumb.jpeg,我需要解决这个问题。这是在带有Control.ResolveUrl()的ASP.net中完成的。
根据这篇文章http://stephenwalther.com/blog/archive/2009/02/18/asp.net-mvc-tip-47-ndash-using-resolveurl-in-an-html.aspx,我应该使用这样的东西:
urlHelper.Content( “〜/内容/文件/ AdImages / 20 / 20_thumb.jpeg”)
但是,这会返回以下网址:/Content/Files/AdImages/20/20_thumb.jpeg,即使我不在解决方案的根目录中(内容放在根目录中)?
我该如何解决这个问题?
请注意,这是来自html帮助程序扩展名。
// SnowJim
答案 0 :(得分:3)
〜的工作是始终解析为root,以便您看到正确的行为。如果您希望这相对于您当前所在的路径,那么您的路径不应该以〜或/
开头答案 1 :(得分:3)
是的,〜在asp.net中和mvc中的工作方式不同。相反,最好的选择似乎用〜替换:
Request.Url.GetLeftPart(UriPartial.Authority)
所以而不是:
urlHelper.Content("~/Content/Files/AdImages/20/20_thumb.jpeg")
使用
urlHelper.Content( Request.Url.GetLeftPart(UriPartial.Authority) + "/Content/Files/AdImages/20/20_thumb.jpeg")