GridViewのテキストボックス更新後の値を取得(VB.NET)
本当に気がふさいで、長い間やってやっとやって、もとは、Pageで悪いですロードにIf(Not Page.IsPostBack)は入ってない
バックグラウンドコード:
フロントコード:
バックグラウンドコード:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Not Page.IsPostBack) Then
DataBind()
End If
End Sub
Protected Sub gvBS_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gvCompany.RowUpdating
Dim cID As String
Dim cName As String
Dim r As Integer
r = e.RowIndex
cID = CType(gvBS.Rows(r).Cells(0).FindControl("lblID"), Label).Text
cName = CType(gvBS.Rows(r).Cells(1).FindControl("txtName"), TextBox).Text
End Sub
フロントコード:
<asp:GridView runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<asp:Label ID="lblID" runat="server" Text='<%# Eval("id") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblID2" runat="server" Text='<%# Bind("id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" ">
<EditItemTemplate>
<asp:TextBox ID="txtName" runat="server" Text='<%# Bind("name") %>' MaxLength="50"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Bind("name") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>