作者:阿克苏的风格 | 来源:互联网 | 2023-05-26 11:28
在用户控件中,服务器端控件的图片的路径并不跟从该用户控件所在的页面。而是从用户控件所在的位置。flash好像不存在这个问题。好不容易找到了一个解决方法是:用 Page.ResolveUrl ()方法。
查了下msdn,关于这个方法的说明如下:
用途;将 URL 转换为在请求客户端可用的 URL。
如果 relativeUrl 参数包含绝对 URL,则该 URL 原样返回。如果 relativeUrl 参数包含相对 URL,则该 URL 将更改为与当前请求路径相符的相对 URL,这样浏览器便能够解析该 URL。
例如,请考虑以下方案:
- 客户端已请求了一个 ASP.NET 页,该页含有一个用户控件,该用户控件有一个关联的图像。
- ASP.NET 页位于 /Store/page1.aspx。
- 用户控件位于 /Store/UserControls/UC1.ascx。
- 图像文件位于 /UserControls/Images/MyPhoto1.jpg。
如果用户控件将图像的相对路径(即 /Store/UserControls/Images/MyPhoto1.jpg)传递给 ResolveUrl 方法,则该方法将返回值 /UserControls/Images/MyPhoto1.jpg。