2012-06-03 3 views
0

У меня большая ошибка в rowcommand. У меня есть поле кнопки с именем "add". Когда я нажимаю на него, код не запускается в первый раз, но нажимает его снова, и код срабатывает!rowcommand не работает в первый раз

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(); 
} 

некорректная доза струны не срабатывает при нажатии в первый раз!

ответ

0

Я понял вопрос, я использовал GridView_RowCreated, который вызывал проблему, вместо этого я использовал GridView_RowDataBound, который решил проблему для меня.

или убедитесь, что если вы привязываете datagrid не к сообщению.

1

Вы должны связать источник данных с Gridview по обратной передаче.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
    GridView1.Datasource = DataTable1; 
    GridView1.DataBind(); 
    } 
}