我想浏览一个页面,然后自动加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();

解决方案 »

  1.   

    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>");
    }
    }
    }
    高手指教
      

  2.   

    location.herf='Content.aspx'
    Content.aspx就是本页面吧,你自己写的刷新代码,怪谁?
      

  3.   

    如果一定要回到本页面也可以
    先Response.Redirect到一个成功页面,在那个页面再转回来(停留1秒)
    <meta http-equiv="Refresh" content="1; url=Content.aspx">
      

  4.   

    这段是insert,好像没有你开头说的update
      

  5.   

    在最上边呢,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();
      

  6.   

    应该在文章页面的Page_Load里面
    if(!IsPostBack)加1
      

  7.   

    晕,放在DataList1_Load里面什么意思?
    应该在点击事件里吧