我在rowcommand中犯了一个大错误。我有一个命令名为“add”的按钮字段。当我点击它时,代码第一次不会触发,但是再次点击它会触发代码!
if (e.CommandName == "add")
{
DataClassesDataContext db = new DataClassesDataContext();
int ii = int.Parse(e.CommandArgument.ToString());
int num = int.Parse(((TextBox)GridView1.Rows[ii].FindControl("TextBox2")).Text);
string id = GridView1.Rows[ii].Cells[0].Text;
temp t = new temp();
t.tedad = num;
t.username = Session["username"].ToString();
db.temps.InsertOnSubmit(t);
db.SubmitChanges();
}
点击第一次时,rowcommand不会触发!
答案 0 :(得分:1)
您应该在回发时将数据源绑定到Gridview。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.Datasource = DataTable1;
GridView1.DataBind();
}
}
答案 1 :(得分:0)
我发现了问题,我使用了导致问题的GridView_RowCreated
,而我使用GridView_RowDataBound
来解决问题。
或检查是否绑定了数据网格而不回发。