为什么是自动加2,而不是自动加1

xinhaiwan 2006-10-18 04:17:32
我想浏览一个页面,然后自动加1,可以不防止刷新,但为什么老是自动加2啊?代码如下,高手,请指教
SqlConnection con1=DB.CreateCon();
con1.Open();
SqlCommand cmd1=new SqlCommand();
cmd1.Connection=con1;
cmd1.CommandText="update CataLogContent set Countpeople=Countpeople+1 where NewsID="+ContentID;
cmd1.ExecuteNonQuery();
con1.Close();
...全文
139 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
viena 2006-10-18
  • 打赏
  • 举报
回复
晕,放在DataList1_Load里面什么意思?
应该在点击事件里吧
viena 2006-10-18
  • 打赏
  • 举报
回复
应该在文章页面的Page_Load里面
if(!IsPostBack)加1
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
在最上边呢,private void DataList1_Load(object sender, System.EventArgs e)
{

string ContentID=Request.QueryString["ID"].ToString();
SqlConnection con1=DB.CreateCon();
con1.Open();
SqlCommand cmd1=new SqlCommand();
cmd1.Connection=con1;
cmd1.CommandText="update CataLogContent set Countpeople=Countpeople+1 where NewsID="+ContentID;
cmd1.ExecuteNonQuery();
con1.Close();
viena 2006-10-18
  • 打赏
  • 举报
回复
这段是insert,好像没有你开头说的update
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
我这个页面的布局大概是这样的,左边是发表评论,和显示评论,右边是显示,链接过来的文章内容,
我想,浏览这篇文章一次加1,但不知道,为什么老是加2
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
我这个页面的布局大概是这样的,左边是发表评论,和显示评论,左边是显示,链接过来的文章内容,
我想,浏览这篇文章一次加1,但不知道,为什么老是加2
viena 2006-10-18
  • 打赏
  • 举报
回复
如果一定要回到本页面也可以
先Response.Redirect到一个成功页面,在那个页面再转回来(停留1秒)
<meta http-equiv="Refresh" content="1; url=Content.aspx">
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
不行啊,高手,去了,也是自动加2,不自动加1
viena 2006-10-18
  • 打赏
  • 举报
回复
直接刷新页面,会重新执行按钮事件代码的
防止刷新导致重复提交的最简单处理办法是,提交成功后转到其它页面
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
哦,是这样的原来,稍等,我试一下
viena 2006-10-18
  • 打赏
  • 举报
回复
location.herf='Content.aspx'
Content.aspx就是本页面吧,你自己写的刷新代码,怪谁?
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace newscms
{
/// <summary>
/// Content 的摘要说明。
/// </summary>
public class Content : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.DataList DataList1;
protected System.Web.UI.WebControls.TextBox Name;
protected System.Web.UI.WebControls.TextBox Eamil;
protected System.Web.UI.WebControls.TextBox Title;
protected System.Web.UI.WebControls.TextBox PingLun;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
protected System.Web.UI.WebControls.TextBox shu;
protected System.Web.UI.WebControls.DataList DataList2;

private void Page_Load(object sender, System.EventArgs e)
{


}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataList2.Load += new System.EventHandler(this.DataList2_Load);
this.DataList1.Load += new System.EventHandler(this.DataList1_Load);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
private void DataList1_Load(object sender, System.EventArgs e)
{

string ContentID=Request.QueryString["ID"].ToString();
SqlConnection con1=DB.CreateCon();
con1.Open();
SqlCommand cmd1=new SqlCommand();
cmd1.Connection=con1;
cmd1.CommandText="update CataLogContent set Countpeople=Countpeople+1 where NewsID="+ContentID;
cmd1.ExecuteNonQuery();
con1.Close();



}

private void DataList1_SelectedIndexChanged(object sender, System.EventArgs e)
{

}

private void DataList2_Load(object sender, System.EventArgs e)
{


string ContentID=Request.QueryString["ID"].ToString();
SqlConnection con=DB.CreateCon();
con.Open();
SqlCommand cmd=new SqlCommand("select top 10 * from PingLunNews where CountyID="+ContentID,con);
SqlDataReader sdr=cmd.ExecuteReader();
this.DataList2.DataSource=sdr;
this.DataList2.DataBind();
}

private void Button1_Click(object sender, System.EventArgs e)
{
DateTime now=DateTime.Now;
string PingLunID=Request.QueryString["ID"].ToString();

Session["PinLID"]=PingLunID;
shu.Text=Session["PinLID"].ToString();
string PingLun_Name=Name.Text.ToString();
string PingLun_Eamil=Eamil.Text.ToString();
string PingLun_Title=Title.Text.ToString();
string PingLun_PingLun=PingLun.Text.ToString();
SqlConnection con=DB.CreateCon();
con.Open();

string select="insert into PingLunNews(PingLunName,[E-mail],CountyID,PingLunTitle,ReleasePingLun,PingLunData)values"+"('"+PingLun_Name+"','"+PingLun_Eamil+"','"+shu.Text+"','"+PingLun_Title+"','"+PingLun_PingLun+"','"+now+"')";
SqlCommand cmd=new SqlCommand(select,con);
cmd.ExecuteNonQuery();
con.Close();
Response.Write("<script>alert('您已经成功提交,我们会及时与您联系');location.herf='Content.aspx'</script>");


}
}
}
高手指教
viena 2006-10-18
  • 打赏
  • 举报
回复
同意2楼,跟踪调试一下就知道了~
viena 2006-10-18
  • 打赏
  • 举报
回复
贴代码看一下,所有相关代码~
viena 2006-10-18
  • 打赏
  • 举报
回复
毫无疑问,代码有问题~
xinhaiwan 2006-10-18
  • 打赏
  • 举报
回复
楼上两位,是不是可以这样理解,点击一次,然后自动刷新一次,是这样吗?
Eddie005 2006-10-18
  • 打赏
  • 举报
回复
程序逻辑肯定有问题,执行了2次,楼主可以跟踪调试一下~
viena 2006-10-18
  • 打赏
  • 举报
回复
运行了两次

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧