2011-01-15 32 views
0

グリッドビュー内のコマンド名が「ホールド」のボタンがあります。最初の行のn個のホールドボタンをクリックすると、全体の行の値がdefault2.aspxに転送されます。gridviewのコマンド行を使用して選択した行の値を取得する方法は?

をクリックすると、グリッドビューの2番目の行のボタンを押した後、2番目の行の値がDefault2.aspxに転送されます。

いただきました!間違ってこのコードでは....

は、私はそれを使用してmが...しかし、それは常に私が最初のGridView ..in最後または中央の行を選択しても1行目の値を転送しますか?

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand 
     For Each myRow As GridViewRow In GridView1.Rows 
      'Find the checkbox 
      Dim lab5 As Label = DirectCast(myRow.FindControl("Label5"), Label) 
      If e.CommandName = "feedback" Then 
       Me.Response.Redirect("~/view_feedback.aspx?" & "serv_code=" & lab5.Text.ToString) 
      End If 
     Next 
    End Sub 

答えて

0

ページ全体をあなたの投稿を背中と仮定して、保留ボタンがクリックされるたびにGridView1_RowCommandはすぐに、解雇されるAJAXを使用していない...

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand 
    If e.CommandName = "feedback" Then 
     Dim index As Integer = Convert.ToInt32(e.CommandArgument) 
     Dim myRow As GridViewRow = GridView1.Rows(index) 
     Dim lab5 As Label = DirectCast(myRow.FindControl("Label5"), Label) 
     Me.Response.Redirect("~/view_feedback.aspx?" & "serv_code=" & lab5.Text.ToString) 
    End If 
End Sub 
+0

入力文字列の形式が正しくありませんでした。 – ClixNCash

+0

Label5が存在するかLabel5が値を持っているかチェックする必要があります。 Label5がnullなので – Binil

2

このコードを試してみてください。

コードが書かれているので、今度はすべての行をループし、順番に解析しようとしています。 の場合、コマンド名がフィードバックの場合は、最初の行のview_feedback.aspxページにリダイレクトされます。リダイレクトが現在のWebリクエストの実行を新しいページに移動するため、最初の行だけが処理されます。

CommandArgumentプロパティのコマンドに行インデックスを指定した通りにin this exampleとし、すべての行をループするのではなく、ボタンのクリック時に1行しか処理しない場合は使用します。

関連する問題