URL ReWriting 示例(C#)

对于Web.Config设置一下:

节最开始加上:

   < configSections >
    
< section  name ="RewriterConfig"  type ="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"   />
  
configSections>

节中加上:

< RewriterConfig >
 
< Rules >
   
< RewriterRule >
   
< LookFor > ~/News,(d{4}),(d{1,2}),(d{1,2}),(d{1,9}).aspx LookFor>
   
<SendTo>~/news_view.aspx?newsid=$4 SendTo>
  
RewriterRule>
  
<RewriterRule>
   
<LookFor>~/(d{4})/(d{2})/Default.aspx LookFor>
   
<SendTo>~/news_view.aspx?year=$1&month=$2]]></< SPAN>SendTo>
  
</< SPAN>RewriterRule>
 
</< SPAN>Rules>
  
</< SPAN>RewriterConfig>

  
节加上:
 
 <httpModules>
  
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
 
</< SPAN>httpModules>

处理一下链接:

news.aspx
private void Page_Load(object sender, System.EventArgs e)
  
{
   
// 在此处放置用户代码以初始化页面
   DataTable dt=new DataProvider().GetNewsToIndexPage(1);
   
//格式化URL
   UrlFormat formats=new UrlFormat();

   lbNews.Text 
= "
    ";
       
    if (dt.Rows.Count>0)
       
    {
        
    int counter=0;
        
    while (counter < dt.Rows.Count)
        
    {
         lbNews.Text 
    += "
    • "
     + formats.NewsUrl((DateTime)dt.Rows[counter]["NewsPubTime"],Convert.ToInt32(dt.Rows[counter]["NewsID"])) + "" target="_blank">" + dt.Rows[counter]["NewsTitle"].ToString() + "";
         counter
    ++;
        }

       }

       
    else
       
    {
        lbNews.Text
    ="暂无内容";
       }

       lbNews.Text 
    += "";
       dt.Clear();
       dt.Dispose();
       
      }

    UrlFormat.cs

    public class UrlFormat
     
    {

      
    public UrlFormat()
      
    {
      }


      
    public virtual string NewsUrl(DateTime dt,int NewsID)
      
    {
          
    return GetUrl("News,{0},{1},{2}," + NewsID + ".aspx",dt.Year,dt.Month,dt.Day);
      }


      
    protected virtual string GetUrl(string pattern, params object[] items)
      
    {
       
    return string.Format(pattern,items);
      }


     }



    格式化为:
    news,2004,8,13,123.aspx

    指向:
    news.aspx?参数=some parameter

    作用:可以隐藏真实Url,爽!

    相关Dll文件下载:http://bbs.mvpcn.net/PostAttachment.aspx?PostID=405

    Another one:http://www.codeproject.com/aspnet/URLRewriter.asp

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

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值