none
ASP.NET(C#)网站问题 RRS feed

  • 问题

  •         protected void btnReview_Click(object sender, EventArgs e)
            {
                MSVideoReviewManager myVideoReview = new MSVideoReviewManager();
                myVideoReview.Get(null, "");
                myVideoReview.IsAdd = true;
                myVideoReview.VideoID = this.VideoID;
                myVideoReview.Review = this.txtReview.Text.Trim();
                myVideoReview.Grade = "0";
                myVideoReview.AddUserId = Session[CommonString.UserID] == null ? 0 : int.Parse(Session[CommonString.UserID].ToString()); 
                myVideoReview.AddTime = DateTime.Now.ToString();
                myVideoReview.Save(null);
                this.alert("发表评论成功");
                this.txtReview.Text = "";
                SearchVideoReview();
            }
    我的后台是通过上面的Button按钮的单击事件实现功能,但在第一次操作成功后,再刷新页面后,此操作自己就直接执行了(我没有单击按钮)。
    不知道这是怎么回事。望高手解决。
    • 已移动 Raymond TangModerator 2010年2月4日 9:36 (发件人:.NET Framework 一般性问题讨论区)
    2010年2月4日 8:47

答案

  • 上面我给你说的就是这几种解决方法
    你再参照下这里:http://blog.csdn.net/itfly8/archive/2007/06/25/1665058.aspx
    你也可以采用asp.net ajax框架来实现,这样会更好


    努力+方法=成功
    2010年2月5日 3:20

全部回复

  • asp.net页面刷新导致按钮提交多次
    你在page_load事件中加入if(!ispostback){}

    你在button按钮事件最后 转向本页 Response.Redirect("本页");
    或者你可以用js控制下button防止按钮多次提交


    努力+方法=成功
    2010年2月4日 9:32
  • 我的代码是写在if(!ispostback){}里的,但使用你的“在button按钮事件最后 转向本页 Response.Redirect("本页");”的建议后,问题已解决了。谢谢!
    2010年2月4日 9:54
  • 以上问题虽然已解决,但我还有些不明白,就是我的代码是写在if(!ispostback){}里的,但为什么还会出现按钮多次提交的情况了?
    2010年2月5日 0:52
  • 以上问题虽然已解决,但我还有些不明白,就是我的代码是写在if(!ispostback){}里的,但为什么还会出现按钮多次提交的情况了.


    问题效果图可访问http://www.yzwxzx.net/index.aspx网址,进行投票操作,之后再刷新页面。


    今天早上又发现新问题,但使用你的“在button按钮事件最后 转向本页 Response.Redirect("本页");”,在网站首页使用后再刷新页面后是没有以上网址内看到的效果了,但提交按钮的事件就不再执行了(网站子页面使用此方法是没有问题的)。
    之后我把一些绑定控件的初始信息的方法写在if(!ispostback){}外反而没有了上述情况,我不明白这是怎么回事,望高手指点。
    • 已标记为答案 Elaine.He 2010年2月5日 2:23
    • 取消答案标记 Elaine.He 2010年2月5日 2:24
    • 已编辑 Elaine.He 2010年2月5日 2:35
    2010年2月5日 1:32
  • 这是asp.net服务器控件的本身决定的
    如果不刷新页面,服务器端按钮事件处理程序就不起作用了
    .net就是用页面回送,来模拟事件驱动,这是不可避免的,
    努力+方法=成功
    2010年2月5日 2:26
  • 没有好的方法解决吗?
    2010年2月5日 3:07
  • 上面我给你说的就是这几种解决方法
    你再参照下这里:http://blog.csdn.net/itfly8/archive/2007/06/25/1665058.aspx
    你也可以采用asp.net ajax框架来实现,这样会更好


    努力+方法=成功
    2010年2月5日 3:20
  • 好的,那我就再试试ajax方法吧,其实我不怎么喜欢ajax方法。
    还是谢谢你。
    2010年2月5日 4:30