我用一个BUTTON事件增加一条记录和对一个DropDownList也增加一项,点击BUTTON,两者都有增加是没问题的,但我刷新页面后,DropDownList没有增加,但数据库里又多了一条记录,不知为什么,我是程序代码和HTML代码在一个页面的,以下是我的代码,请大家多少指点。在我点击BUTTON时触发事件,为什么我刷新后又触发一次呢????<% @ Page Language="C#" Debug="true" %>
<% @ Import Namespace="System" %>
<% @ Import Namespace="System.Drawing" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.SqlClient" %>
<% @ Import Namespace="System.Web.UI" %>
<% @ Import Namespace="System.Web.UI.WebControls" %>
<script language="c#" runat="server">public void Page_Load(Object src,EventArgs e)
{
}public void butFun1(Object src,EventArgs e)
{
DDL1.Items.Add(new ListItem(DateTime.Now.ToString(),"sadasd"));
string connStr="server=192.168.3.105;user=sa;password=sa;initial catalog=test;";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string sqlStr = "insert into users(usersUid,usersPwd) values('"+DateTime.Now.ToString()+"','NO')";
SqlCommand comm = new SqlCommand(sqlStr,conn);
comm.ExecuteNonQuery();
comm.Dispose();
conn.Close();
}
</script><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body><form runat="server"><center>
<br>
<br><br>
<br><asp:DropDownList ID="DDL1" runat="server">
<asp:ListItem>Item 1</asp:ListItem>
</asp:DropDownList><asp:Button ID="Button1" runat="server" Text="button1" OnClick="butFun1"/>
</center></form></body>
</html>

解决方案 »

  1.   

    <input type="hidden" name="__VIEWSTATE" value="xxxxxxx"/>我总觉得和运行后的HTML代码里的这个隐藏域有关,应该有个代码,在处理完事件后就立即清除,这样再刷新的时候就不用再运行这个事件了。
      

  2.   

    点button后是页面提交数据到服务器。页面保存了当时提交的状态。
    提交后现刷新页面。等于又向服务提交一次相同的数据。
      

  3.   

    看起来控件的render在刷新时的处理有点特别
      

  4.   

    反复提交的问题:可以在提交数据后添加一个VIEWSTATE记录是否提交成功,在提交数据操作之前判断该VIEWSTATE是否为NULL,其次判断是否提交成功
      

  5.   

    “DDL1.Items.Add(new ListItem(DateTime.Now.ToString(),"sadasd"));“
    这是在按钮点击事件写的 当然添加了你的下拉框不是通过别的方法添加数据项的
    可以在 Page_Load 写添加数据代码 
      

  6.   

    执行的时候先走pageload再走button事件,你在button事件里写的添加要再刷一次页面才能显示出来
      

  7.   

    上面两位可能没明白我的意思,我是说为什么我刷新会运行BUTTON的事件,我并没有点BUTTON呀。
      

  8.   

    http://blog.csdn.net/yanghuijun/archive/2006/06/29/849238.aspx
      

  9.   

    TO:truecoffeefox(咖啡狐)你发的这个我看过了,太麻烦了,还不如用直接处理完再跳转原页面呢,还有没有其他的方法???