2011-07-29 16 views
0

編集メソッドを入力した値を元の値を返していない:ASP.NET(GridViewの)GridView1.Rows [e.RowIndex] .Cells [1]の.text私はちょうど

更新方法
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
     { 
      GridView1.EditIndex = e.NewEditIndex; 
     } 

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
     int _selectedRowIndex = e.RowIndex; 
     int _ameintyId = (int)GridView1.DataKeys[_selectedRowIndex].Value; 
     string updatedAmenity = GridView1.Rows[_selectedRowIndex].Cells[0].Text; 
    } 

NB:私は気づいた奇妙なことに、私はそれがページをリロードするが、行を編集し、私は再びそれをクリックして、それが動作する...と、これは毎回発生しません[編集]をクリックしたときに、それはありません例外または何か!

編集

私はBoundFieldを使用していますまず第一に..私は、私はDataKeyを追加するとき、それはIDで、何が問題を引き起こしたことをそれのための新しいフィールドを作成したことを考え出しました!だから私はちょうど0を1に変更しました..しかし、今私は、セルのTextプロパティが新しい値ではなく元の値を返すという問題に直面しています!

+1

あなたはユーザー入力を取得しているどのように、私はセル0内部 'TextBox'を通じて推測と呼ばれますか –

+0

実際に私はBoundFieldを使用しています。 – lKashef

答えて

2

まず問題:二回クリック:使用e.NewValuesプロパティ

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
    { 
     int _selectedRowIndex = e.RowIndex; 
     int _ameintyId = (int)GridView1.DataKeys[_selectedRowIndex].Value; 
     string updatedAmenity = e.NewValues[0].ToString(); 
    } 

第二の問題を:私はだけではなく、元の値

更新方法を入力された値を取得するには編集ボタンを操作するには

編集中THOD:?私はちょうど私のグリッドをバインドする私の方法あなたの助けを提供するための

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 
    { 
     GridView1.EditIndex = -1; 
     AmenitiesGridDataBind(); 
    } 

感謝=)

0
string updatedAmenity = e.NewValues[0].ToString(); 
+0

このコードは質問に答えるかもしれませんが、_how_および/または_why_に関する追加の[context](https://meta.stackexchange.com/q/114762)を提供することで、問題を解決して回答の長期的価値を向上させることができます。あなたが今質問している人だけでなく、将来読者のための質問に答えていることを忘れないでください!あなたの答えを説明するためにあなたの答えを編集し(http://stackoverflow.com/posts/43486836/edit)、どのような制限や前提が適用されるかを示してください。この答えが他のものよりもなぜ適切であるかを言及することも傷つけません。 –

関連する問題