【问题标题】:how to change the label1 text to block n unblock if checkbox in gridview1 is checked?如果选中 gridview1 中的复选框,如何更改 label1 文本以阻止 n 取消阻止?
【发布时间】:2011-01-25 10:11:52
【问题描述】:

我想要如果 gridview 中的 checkbox1 被选中,那么 gridview 中的 label1 文本是 Block 如果 gridview 中的 checkbox1 没有被选中,那么 label1 text n gridview 是 unblock ...

我想这样做是因为想要....阻止 ASPNETDB.MDF 成员资格表中的取消阻止用户。 ..

这段代码有什么问题:

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

【问题讨论】:

  • 这可能是因为它没有更新用户或没有使用 IsPostback 处理回发
  • 你可以重新编辑我的代码吗?
  • 您是只想更改标签文本还是要立即更新数据库中的用户?如果是第一个选项:您可以使用 javascript 在 Checkbox-click 上切换标签文本。如果是第二种选择:您必须将网格重新绑定到数据源。

标签: asp.net vb.net visual-studio-2008 gridview aspnetdb


【解决方案1】:

检查后端是否确实更新了用户。如果没有,那么这里有更大的问题。您如何还绑定网格、每次页面加载,或者只是在初始页面加载和任何更新期间?

第一次回发时文本是否会更改,但在以后的回发时会恢复?也可能是从块到解除块的文本切换不是自动保存到视图状态的东西。因此,您可能需要在 RowCreated 中将其阻止或解除阻止重新分配给每次回发时的链接按钮文本...

您能否提供更多关于哪些不工作的信息?

HTH。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2014-10-01
    • 2016-03-14
    • 2012-08-26
    • 2015-05-04
    • 2013-02-10
    • 2019-12-03
    相关资源
    最近更新 更多