点击“提交”发布日志。但是我想,每次提交成功后,都需要等待30秒钟,才能重新提交。求C#的写法,今天早上想了很久没写出来。初学,求C#代码。

解决方案 »

  1.   

    存数据库,   一个用户ID   最后发帖时间!    与现在时间比较!    OK
      

  2.   

    一个timer就ok了,不行你还可以使用线程,和APi的SetTimer自己控制
      

  3.   

    用个Time控件。提交后,给一个控件比如LABLE赋值30秒,倒计时。当时间为0的时候可以提交,否则提示。“30秒后重新输入”。
      

  4.   

    一个timer就ok了,不行你还可以使用线程,和APi的SetTimer自己控制
      

  5.   

    哎小弟初学还没搞好我的问题,看了上面说的,又进入另一个问题。什么Time啊。SetTimer啊。APi啊 难过。
      

  6.   

    你说的不是asp.net吧  >.<如果是winform应用,把工具栏的Timer控件拖到窗体上(实际放在下面的托盘中),然后添加事件
      

  7.   

    楼主应该把问题问清楚,到底是要在客户做限制还是服务端,是在B/S还是在C/S中进行处理。客户端处理的话不需要操作数据库,只要控制按钮的可用状态即可,即在提交的请求发出以后启动计时器,并将用于提交的按钮设置为不可用,当计时器时间到了以后,再将提交按钮设置为可用。这种方式虽然不用操作数据库,但对于初学者来说实现起来稍微有点复杂,不过最关键的是这种方式并不是太好,用户很容易就避开你的限制。如果在服务端来处理,可以选择数据库和非数据库两种方式。对于非数据库的方式,可以把用户上次提交时间记录在当前会话状态中,例如ASP.NET的Session,在用户下一次提交时检查当前时间和上次提交的时间是否相差大于30秒,如果没有到的话可以发出一个错误提示。数据库方式的原理基本相同,只是把上次提交时间放在数据库的某个表中,但这种方式相比非数据库更加可靠。客户处理适合防君子,而服务端的处理适合防小人,要如何选择就看具体的业务需要。当然,如果你想要做得更好,可以两种方式一起来。
      

  8.   

    呵呵,你可以给按钮一个ClientClick时间先是  禁用按钮
    之后
    window.setTimeout(启用按钮,30*1000);
      

  9.   

    1)通过JS控制
    可以把提交时间存储到cookie,用JS对cookie进行操作,然后比较时间
    不过这个方法容易被用户自己篡改2)通过Session控制
    方法同上,不过Session是服务器端的控制3)数据库记录上次提交时间(不推荐,因为你只控制很短的时间,Session足矣)
      

  10.   

    这种问题,我个人不太同意,对不对就用数据库来存取, 也就是为了防止 一个表单重复提交的时间,可能用临时文件,或者表单不多的话Session 就行了, 再不行cookie也行,其实不要觉得session cookie 很不应该用,但是看什么情况下,像这种情况如果你一定要用表我觉得还没二个东西方便好, 
    建议还是用XML 或者TEXT临时文件来记录上次提交的时间和这次的时间差
      

  11.   

    用timer吧,提交后设置button disable,然后启动timer。
    这个timer在30秒后自动将button enable,然后自己关掉。