url从写中的图片疑问?

          我是一个新手! 最近在搞那个url从写! 我最开始用的httpModules  来实验的! 首先 网上下载一个URLRewriter.dll  我用的1.0.2896.30326版本的

然后写一个类 在该类中引用 URLRewriter.dll    ;  然后

写个类继承 URLRewriter.BaseModuleRewriter

重写它的  protected override void Rewrite(string requestedPath, System.Web.HttpApplication app)
然后就可以在该类中实现相应的重写规则;

  if (requestedPath.Contains("匹配后的网站"))//Contains(string value)  查询 value在string中是否出现 返回bool值
                app.Context.RewritePath("真实的网址");

这里我们可以把那些重写规则写到数据库中然后读取数据库中的重写规则然后就方便些了,这种方式不可以用正则 有时候稍郁闷 !

然后再web.config 注册 这个类就可以了

  <httpModules>

        <add name="URL" type="url.myrewritter"/>//这个具体写法要看自己的类了
  </httpModules>

 这样后重写到是实现了;可是又有问题出现了

asp.net Url重写 重写后页面图片路径的出问题(服务器控件 地址从根目录下开始找的也出问题!);我 用html 标记  <img src="<%=ResolveUrl("~/image/123.jpg")%>" /> 就没问题;用   <asp:Image ID="Image1" runat="server" ImageUrl="~/image/123.jpg" />图片地址出问题了;  我看了下那图片的路径是一浏览器地址栏中的上级文件夹开始找 /image/123.jpg  可是我的那地址是重写的呀 ,是不存在的呀! 我也用了 <base href="~/" /> 可是结果还是那样 在浏览器中上级文件夹开始在填加 ”base “中的路径 在加 图片的 ”/image/123.jpg “  ! 求解?????????稍郁闷!不解!
最后 "/wep/image/123.jpg" 我这样没错误了! 我还是不解 为什么 ”~/image/123.jpg“ 不可以,我看网上这样说都可以的;
 
最后我又换了一种方案写;
这是我网上找的并一种方案

实现url重写的基本方法
1.      下载ms的URLRewriter.dll,放到你的web程序的bin下
下载地址1: http://www.sinoec.cn/fordown/URLRewriter.dll
下载地址2:
download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi

下载完成后,在web.config里设置:

 

<?xml version="1.0" encoding="utf-8" ?>
<!--overred-->
<configuration>
<configSections>
<section name="RewriterConfig" 
type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/d(\d+)\.aspx</LookFor>
<SendTo>~/default.aspx?id=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<system.web>
<httpHandlers>
<add verb="*" path="*.aspx" 
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>

 

这样后我用 服务器控件的  <asp:Image ID="Image1" runat="server" ImageUrl="~/image/123.jpg" /> 就没用错误了;真很不解,为什么用上面的那种方式写服务器控件的路径出问题呢??我还不明白!

转载于:https://www.cnblogs.com/aw25220/archive/2011/04/03/2004426.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值