用的是URLRewriter,web.config是这样写的
<add virtualUrl="~/post(.[0-9]*)(.[0-9]*)\.aspx" destinationUrl="~/ny.aspx?id=$1&amp;ptype=$2"/>
页面
<a href="post<%#Eval("id")%><%#Eval("hztype") %>.aspx"></a>
然后使用的时候$2的位置是1-9的时候就是正常的,但是当$2=10以上的时候,Request.QueryString["id"]就自动丢失后面的一位,只剩个1.
执行这句
DataSet ds1 = DbCommon.GetDataSet("exec post_fbrda '" + ds.Tables[0].Rows[0]["userid"].ToString() + "','" + Request.QueryString["id"] + "'");
userid是正确的,但是id却会取错,比如~/post3611.aspx,本来是指"~/ny.aspx?id=36&ptype=11的,那么上面那句话应该取id=36,结果却取成了361,就会导致错误(在ptype>=10时)
求教如何解决?