2011-01-25 7 views
0

gridviewのcheckbox1がチェックされている場合、gridviewのlabel1テキストがブロックされます。gridviewのcheckbox1がチェックされていない場合、label1 text n gridviewがブロック解除されます。label1のテキストをブロックする方法を変更するn gridview1のチェックボックスがオンになっている場合はブロックを解除しますか?

私はこれをしたいです.... ASPNETDB.MDFメンバーシップテーブルのブロック解除ユーザーをブロックします。 ..

enter image description here

whatzこのコードで間違った:バックエンドで

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged 
     Dim linkbutton1 As LinkButton = Me.GridView1.SelectedRow.FindControl("LinkButton1") 
     Dim chk As CheckBox = Me.GridView1.SelectedRow.FindControl("CheckBox1") 
     If chk.Checked = True Then 
      linkbutton1.Text = "Block" 
      Dim user As MembershipUser = Membership.GetUser(GridView1.SelectedRow.Cells(1).Text.ToString) 
      'To block a specific user: 
      user.IsApproved = False 
      Membership.UpdateUser(user) 
     Else 
      linkbutton1.Text = "UnBlock" 
      Dim user As MembershipUser = Membership.GetUser(GridView1.SelectedRow.Cells(1).Text.ToString) 
      'To block a specific user: 
      user.IsApproved = True 
      Membership.UpdateUser(user) 
     End If 
    End Sub 
+0

ユーザーが更新されていないか、またはIsPostbackを使用してポストバックを処理していない可能性があります。 – Binil

+0

これを行うためにコードをreditできますか? – user583181

+0

ラベルテキストのみを変更したいのですか?またはデータベースのユーザーをすぐに更新しますか?最初のオプション:javascriptを使用して、Checkbox-clickでラベルテキストを切り替えることができます。 2番目のオプションの場合:グリッドをデータソースに再バインドする必要があります。 –

答えて

0

チェックのは、実際にユーザーを更新する場合。そうでない場合は、ここに大きな問題があります。グリッド、すべてのページロード、または最初のページのロード時や更新中は、どのようにバインドしていますか?

テキストは最初にポストバックされますが、将来のポストバックには戻されますか?また、ブロックからアンブロックへのテキスト切り替えは、自動的にviewstateに保存されるものではありません。したがって、ブロックされているかブロックされていないかをRowCreatedのすべてのポストバックのテキストに再割り当てする必要があります。

何が機能していないかについてさらに情報を提供できますか?

HTH。

関連する問題