HTML    <div>    
    <asp:Repeater runat="server" ID="Repeater1" OnItemCommand="Repeater1_ItemCommand">
    <ItemTemplate>    
    <asp:Button runat="server" ID="button1" Text='Do' Width="100px"  CommandName="btn"            CommandArgument='<%#Eval("answer_true") %>' />    
    </div>
    </ItemTemplate>
    </asp:Repeater>
    </div>
CS代码    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {       
        if (e.CommandName == "btn")
        {
           string  id = e.CommandArgument.ToString();                       SqlConnection conn_jiahua = new SqlConnection(ConfigurationManager.ConnectionStrings["conn_jiahua"].ConnectionString);
            conn_jiahua.Open();
            string insert = "insert into temp set price='" + id + "'";
            SqlCommand cmd = new SqlCommand(insert, conn_jiahua);
            cmd.ExecuteNonQuery();
            conn_jiahua.Close();
        }
    }
但是在页面中执行button按钮时,数据库中没有插入任何数据, 也没有什么错误提示。请教一下各位高手。

解决方案 »

  1.   

    sql语句有问题
    insert into temp set price='" + id + "'
    这个插入语句啥意思
      

  2.   

     protected void button1_Click(object sender, EventArgs e)
        {
            string id = e.CommandArgument.ToString();
            SqlConnection conn_jiahua = new SqlConnection(ConfigurationManager.ConnectionStrings["conn_jiahua"].ConnectionString);
            conn_jiahua.Open();
            string insert = "insert into temp set price='" + id + "'";
            SqlCommand cmd = new SqlCommand(insert, conn_jiahua);
            cmd.ExecuteNonQuery();
            conn_jiahua.Close();
            //重新在绑定一下
        }
     <ItemTemplate>    
        <asp:Button runat="server" ID="button1" Text='Do' Width="100px"  OnClick="button1_Click"
                CommandArgument='<%#Eval("answer_true") %>' />    
        </div>
        </ItemTemplate>
        </asp:Repeater>
      

  3.   

    2)没有母版页的情况下protected void Page_PreInit(object sender ,EventArgs e)
        {
                  Page.EnableViewState=true;    }或者在该页面的指令中 <%@ Page EnableViewState="True" ?%>
      

  4.   

    修改了插入语句后还是不行 
    insert into temp (price,numb) values ('"+id+"','"+id+"'); 还是没有任何反应。EnableEventValidation="false"  这个有影响吗?
      

  5.   

    sql语句怎么这么别扭啊?
    insert  into table(id,name)values(“id”,“张三”);
    update table set id=1000;
    有insert into。set吗?
      

  6.   

    "insert into temp(price) values("+id+")";
      

  7.   

    EnableEventValidation="false" 这个有影响吗?
    有影响。
    //应该是EnableViewState设置为"false" 的问题        Response.Write(Page.EnableViewState);//应该是False
            //<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"  EnableViewState="true"%>
      

  8.   

    真丢脸。回答错了。
    EnableEventValidation 解释
    获取或设置一个值,该值指示是否应当验证回发事件数据。若要验证回发事件数据,则为 true;否则为 false。
      

  9.   

    设置为  EnableEventValidation="false" 后,在单击button后会提示回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。
      

  10.   

    解决了, 在page_load中绑定数据时,使用if(!ispostback),这样就不会出错了。
      

  11.   


    你好!我按你的方法改后,能添加数据到数据库。但是遇到了几个问题:1、关闭页面之前,每刷新一次它就往数据库里增加一条记录。2、由于page_load中绑定数据时,使用if(!ispostback),新添加的数据就不会自动显示到页面。重新打开这个页面才有。【不知道楼主有没遇到这个问题?还是我代码哪儿错了。】
    我的部分代码:  protected void Page_Load(object sender, EventArgs e)
        {   
            if (!IsPostBack)
            {
                RpBind();
            }    }
    private void RpBind(){……这里是给repeater绑定数据……}  protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {            if (e.CommandName == "btn")
                {
                    TextBox box = e.Item.FindControl("commbox") as TextBox;//找到里层的TextBox对象
               
                    int tid = int.Parse(e.CommandArgument.ToString());
                  
                    int uid = int.Parse(Session["uid"].ToString());
                    string ccont = box.Text;                SqlConnection Conn = new SqlConnection("server=.;uid=sa;pwd=123456;database=webquest;");
                    Conn.Open();
                    SqlCommand comm = new SqlCommand("insert into wq_chat (uID,tID,ccont,ctime) values (@uID,@tID,@ccont,@ctime)", Conn);
                    comm.Parameters.AddWithValue("@uID", uid);
                    comm.Parameters.AddWithValue("@tID", tid);
                    comm.Parameters.AddWithValue("@ccont", ccont);
                    comm.Parameters.AddWithValue("@ctime", DateTime.Now.ToString("yyyy-MM-dd"));
                    comm.ExecuteNonQuery();
                    Conn.Close();
                }
       
        }