【问题标题】:Help with ASP.NET 4.0 routing and subfolders帮助 ASP.NET 4.0 路由和子文件夹
【发布时间】:2010-05-24 13:37:56
【问题描述】:

如果我使用带有 2 个查询参数的路由,如下所示:

System.Web.Routing.RouteTable.Routes.MapPageRoute("HomeRoute", "home/{f1}/{f2}", "~/Home.aspx");

我的图片没有出现在我的 Home.aspx 页面上:

<img src="~/img/img.jpg" /> or <img src="img/img.jpg" />

但是当我访问http://localhost:3760/Website/Home.aspx URL 时它确实出现了

我尝试使用 Routing.Ignore 没有运气。我正在寻找一种适用于无限数量子文件夹的解决方案:“home/{f1}/{f2}/.../{fn}”

问题是由 ASP.NET 路由模块引起的。如果我输入&lt;img src="../../img.jpg" /&gt;,图像将显示,但如果我在路由规则中有“home/{f1}/{f2}/{f3}”,则这会更进一步到&lt;img src="../../../img.jpg" /&gt;

【问题讨论】:

    标签: asp.net routing


    【解决方案1】:

    我知道&lt;img src="~/img/img.jpg" /&gt; 是错误的 应该是&lt;img src="&lt;%=Page.ResolveClientUrl(~/img/img.jpg)%&gt;" /&gt;

    这是因为 ~ 是一个 asp 符号,而不是一个 html 符号。

    很遗憾,我不知道这是否是您的实际问题

    【讨论】:

    • 是的,你是对的,谢谢。没有其他更简单的解决方案吗?我不想在我使用的每张图片上都输入 ResolveClientUrl
    • 您可以查看 Page.ResolveClientUrl 在您的 html 页面中解析为什么并使用该 url。我个人更喜欢asp位。如果您的网站结构发生变化,这可以节省大量时间
    猜你喜欢
    • 1970-01-01
    • 2011-01-31
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2017-02-28
    相关资源
    最近更新 更多