之前做一个项目,里面有一个页面,扁平展开,显示客户相关的所有数据,为了使这些数据更容易理解,使用了表格从上往下将相关内容分组,因为页面拉的较长,就给每一组加了一个锚点
然后,在一个FORM处理页面中,更新完数据库后,需要RESPONSE.REDIRECT到特定的锚点,按最常规的方法写
response.redirect ("customer_Dtail.asp?id=342#"+anchor)
可是实际运行时,发现FORM也处理完了,数据也更新了,RESPONSE到新页面就挂了,觉得很奇怪
在GOOGLE上搜索了一下,终于找到答案
原因是RESPONSE后,Customer_Detail.asp页面会误将342#anchor这一串全部做为Id的值,于是
该页面获取到的ID值 就是342@anchor,根据这个值查询数据库,当然会挂了呀
这个答案是在台湾的一个网站上找到的
正确的方法是,加入一个无用的参数,例如
response.redirect("customer_Detail.asp?id=342&go=1#"+anchor)
如此一来,很好的解决了问题

还发现一个以前没注意的问题
如果你不想让客户更改某个TEXTBOX的内容,你肯定会DISABLE
但是,假如你DISABLE了的话,你千万别试图在ASP脚本里去Request其值,否则REQUEST的值会是空的
正确的做法是将TEXTBOX的Readonly值置为True即可