(CType(GridView1.Rows(e.RowIndex).Cells(4).Controls(0), TextBox)).Text得不到修改后的值
在网页上修改status的值修改为1,点更新后,后台cmd.CommandText 得到的值是
update link set status=0 where id=1 , status的值还是原来的0,不是修改后的1.哪里出错了吗
前台代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="100%" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None" AllowPaging="True" AllowSorting="True" >
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" />
<asp:BoundField DataField="status" HeaderText="审核" />
<asp:CommandField HeaderText="编辑" ShowEditButton="True" />
</Columns>
</asp:GridView>
后台代码:
Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GridView1.RowUpdating
Dim con As New SqlConnection
Dim cmd As New SqlCommand
con.ConnectionString = connstr
con.Open()
cmd.Connection = con
cmd.CommandType = System.Data.CommandType.Text
cmd.CommandText = "update link set status='" & (CType(GridView1.Rows(e.RowIndex).Cells(4).Controls(0), TextBox)).Text.ToString.Trim() & "' where id=" & GridView1.Rows(e.RowIndex).Cells(0).Text.Trim()
cmd.ExecuteNonQuery()
con.Close()
GridView1.EditIndex = -1
fresh()
End Sub