.aspx文件代码
show-<%# DataBinder.Eval(Container.DataItem, "Ztoday")%>-<%# DataBinder.Eval(Container.DataItem, "ZID")%>.shtml
web.config中怎样写?
      <RewriterRule>
        <LookFor>~/zhusheng/show-\d{4}\-\d{2}\-\d{2}\-\d+\.shtml</LookFor>
        <SendTo>~/zhusheng/show.aspx?ID=$1</SendTo>  这里怎么写?本来上面链接只传ID就可以,但现在多加了个时间
      </RewriterRule>请大家告诉我这个得怎么写??我是这样写后,在接收的show.aspx.cs中怎么获取ID(可能是现在写错了,所以才获取不到ID)

解决方案 »

  1.   

    string s = Request.QueryString["ID"].ToString();
      

  2.   

     <LookFor>~/zhusheng/show-(\d{4}\-\d{2}\-\d{2}\-\d+)\.shtml </LookFor> 
            <SendTo>~/zhusheng/show.aspx?ID=$1 </SendTo>这个可以不?
    不知道你的时间在不在这里
    在的话告诉我哪个表示时间
      

  3.   

    改个地方<LookFor>~/zhusheng/show\-(\d{4}\-\d{2}\-\d{2}\-\d+)\.shtml </LookFor> 将url中"-"的转义.正则里保留了"-" .
      

  4.   

    <LookFor>~/zhusheng/show-\d{4}\-\d{2}\-\d{2}\-(\d+)\.shtml </LookFor> 
            <SendTo>~/zhusheng/show.aspx?ID=$1 </SendTo>
      

  5.   

    我用在 ASP.NET 中执行 URL 重写 提供的控件,再VS2008里做了测试通过.//CSharp_20090615_RewriteUrl.aspx.cs
        public partial class CSharp_20090615_RewriteUrl : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                string id = Request.QueryString["ID"];
                Response.Write(string.Format("ID : {0}", id));
            }web.config  <RewriterConfig>
        <Rules>
          <RewriterRule>
            <LookFor>~/show-(\d{4}\-\d{2}\-\d{2}\-\d+)\.shtml</LookFor>
            <SendTo>~/CSharp_20090615_RewriteUrl.aspx?ID=$1</SendTo>
          </RewriterRule >
        </Rules >    
      </RewriterConfig >结果:ID : 2009-06-01-9 
      

  6.   

    10楼用 show-2009-06-01-9.shtml 这个测试的.
      

  7.   

    10楼修改一下//CSharp_20090615_RewriteUrl.aspx.cs    public partial class CSharp_20090615_RewriteUrl : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                String date = Request.QueryString["Date"];
                string id = Request.QueryString["ID"];
                
                Response.Write(string.Format("Date : {0}<br />", date));
                Response.Write(string.Format("ID : {0}", id));
            }
        }web.config  <RewriterConfig>
        <Rules>
          <RewriterRule>
            <LookFor>~/show-(\d{4}\-\d{2}\-\d{2})\-(\d+)\.shtml</LookFor>
            <SendTo><![CDATA[~/CSharp_20090615_RewriteUrl.aspx?Date=$1&ID=$2]]></SendTo>
          </RewriterRule >
        </Rules >    
      </RewriterConfig >
    结果:
    Date : 2009-06-01
    ID : 9