问题如下:我有一个页面为 show.aspx?id=97,现在使用了URL重写为show_97.aspx,后来由于需要,我在重写后的URL后面加了个参数,如:show_97.aspx?NM=0,但我在程序中使用Request.QueryString["NM"]和Request.Form["NM"]都无法获取到该参数(也就是NM)的值,但是我取消URL重写后,又可以获取到NM的值,不知为什么使用了URL重写后就获取不到NM的值了,请大家帮忙解答下!!

解决方案 »

  1.   

    不接就可惜了
    http://bbs.bc-cn.net/tag-DataGridView.html
      

  2.   

    你要注意,伪静态的地址首先它是不存在的,只能是解析到某个地址,如果你解析过去的地址没有NM=0这样的东西存在,你是取不到NM参数的
      

  3.   

    NM 应该附加在 show.aspx 后面而不是 show_97.aspx 页面按下面的方式修改代码后就可以了show.aspx?id=someid&NM=sometext -> show_97.aspx之后在 show.aspx 页面中可以使用
    Request.QueryString["NM"]来获取值(sometext)
      

  4.   

    在拼接的时候其实可以直接在show_97.aspx上,比如拼接成show_97_0.aspx,但应该在配置文件中映射这种形式的地址格式,如
    <add name="Rewrite1" virtualUrl="^~/show_(.*)_(.*).aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/show.aspx?id=$1&amp;NM=$2" ignoreCase="true"/>你直接在重写的URL后面show_97.aspx后面拼接参数应该是不正确的。
      

  5.   

    因为你使用的那个是伪url,也就是说那个地址是不存在,所以请求的时候就会请求不到你的那个NM参与的值,可以参考4楼的做法来取NM参数的值!