推荐:谈谈HtmlControl与WebControl的区别与用途Web控件和Html控件虽然好多功能相同并且长得很像 但是它们的内部实现机制是完全不一样的 Web控件要比Html控件执行效率要好 1. 使用起来也相当方便,举个简单的例子,例如Button
    在asp.net2.0中的urlMappings倒是非常好用,可惜暂不支持正则表达式,不过,好在如果用IHttpModule的话
不管什么样的请求都会先经过IHttpModule这样就为URL重写提供了一个好机会:
下面是我写的一个IHttpModule:
using System;
using System.Web;
public class ReWriteModule : IHttpModule
{
    public ReWriteModule()
    {
    }
    public override string ToString()
    {
        return this.GetType().ToString();
    }
    void IHttpModule.Dispose()
    {
    }
    private static System.Xml.XmlDocument ruleDoc = null;
    private static System.Xml.XmlDocument GetRuleConfig(System.Web.HttpContext app)
    {
        if (ruleDoc == null)
        {
            ruleDoc = new System.Xml.XmlDocument();
            ruleDoc.Load(app.Server.MapPath("~/rule.xml"));
        }
        return ruleDoc;
    }
    public static string GetUrl(System.Web.HttpContext cxt, string path)
    {
        System.Xml.XmlDocument doc = GetRuleConfig(cxt);
        System.Xml.XmlNodeList lst = doc.GetElementsByTagName("RewriterRule");
        string pat = "";
        foreach (System.Xml.XmlNode nd in lst)
        {
            System.Xml.XmlNodeList sub = nd.ChildNodes[0].ChildNodes;
            foreach (System.Xml.XmlNode chk in sub)
            {
                pat = "^"   chk.InnerText   "$";
                System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(pat, System.Text.RegularExpressions.RegexOptions.Compiled | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                if (reg.IsMatch(path))
                {
                    return reg.Replace(path, nd.ChildNodes[1].InnerText);
                }
            }
        }
        return null;
    }
新闻热点
疑难解答
图片精选