public DAL.Join.ModelHotel_SdingdanId Modsid = new DAL.Join.ModelHotel_SdingdanId();
    public DAL.Join.DBlHotel_SdingdanId DBsid = new DAL.Join.DBlHotel_SdingdanId();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {            Modsid.Sding_id = "1";
            Label1.Text = DBsid.AddHotel_SdingdanId(Modsid).ToString();
        }
    }我每刷新一次,就存一次数据库!有没有 哪位大虾 能告诉我一下,我只要刷新页面第一次的时候 存一次数据库就行了,后面几次 刷新 都不会再存数据库,有谁 帮告诉我一下,代码 要怎么写啊,谢谢了!

解决方案 »

  1.   

    Label1.Text = DBsid.AddHotel_SdingdanId(Modsid).ToString();远离Page_Load
      

  2.   

    从你现在的逻辑就是这样的。只能通过Session判断了。if (!this.IsPostBack)
    {
      if (Session["UpdateFlag"] == null)
      {
          Modsid.Sding_id = "1";
          Label1.Text = DBsid.AddHotel_SdingdanId(Modsid).ToString(); 
          Session["UpdatedFlag"] = true;
      }
    }
      

  3.   

    代码是不是放page_load内了
    找下刷新时存数据库代码执行的原因,时什么触发的?
      

  4.   

    要不加判断
    要不要把插入数据的操作放在page_load内
      

  5.   

    一般都是要加判断的,比如判断session之类的。
    if(!ispostback) 起不到实质性的避免二次刷新。。你加个断点调试下看看。。
      

  6.   

    代码执行在Page_Load,所以每次都会执行你的入库程序
      

  7.   

    博客园上有个  防止asp.net 刷新重复提交的博客
    看看啊
    http://www.cnblogs.com/zpq521/archive/2007/08/14/854631.html
      

  8.   

    用验证方式,cookie,session都可以
      

  9.   

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // 代码
            }    }
      

  10.   

    页面刷新一次,就等于是重新加载页面,所以每次刷新都会执行数据库操作的
    上面有人说用session判断,如果用session的话,就只能是执行到一次,以后不管是怎样进入页面都执行不到,除非当session已经失效。
    按照你目前所描述的,是无法实现的
    不知你的实际需求是怎样的?