日期:2011-08-29 浏览次数:20435 次
一直以来,ASP,PHP对处理提交数据时都是传到另一页面处理的,因为本页里处理判断到底是那个按钮得花费大量的精力。这样一来会使得实现一个小小的功能而文件很多,同时好处时不用考虑提交表单或删除数据时的重复提交。
asp.net的推出使得这个问题发生了相反的变化,asp.net的事件和事件委托,程序能够轻松地知道用户是点击了那个按钮,并进行相应的处理。问题就这样了出来了,页面刷新操作是浏览器内部的一种操作,因为浏览器不会为事件或回调发出任何外部通知。程序不会知道用户是点的是按钮还是刷新,提交表单或删除数据时就会重复提交.
还有asp.net中直接一个;号然后1 and 1是会错的,但要在传值的URl中,如test.aspx?test=2后面再跟;1 and 1就不会报错了。
对于刷新问题,大家可以参考http://www.microsoft.com/china/msdn/library/webservices/asp.net/BedrockAspNet.mspx
如果你不使用他的刷新判断,只是要你的WEB页面可以防SQL注入的话。
你只要在你的web.config中加入。
<appSettings>
<add key="Sql_BanFileName" value="BanFileName.htm"/>//如果当前请求的URL?号以后有SQL关键字
则跳转到当前页面。
</appSettings>
<system.web>
<httpModules>
<add name="Module" type="My.Refresh.RefreshModule, Refresh" />//http请求交给PAGE的继承类处理。
</httpModules>
</system.web>
我现在还没有找到空间放程序和源代码,有兴趣的朋友可以emai到qugui@163.com.大这一起讨论asp.net技术