我发现我的一个设置了可编辑的DataGrid, 其中子控件TextBox的Text成员不同于随编辑框中的内容, TextBox.Text成员只等于TextBox初始化时候值, 其后就不会改变了. 我想把TextBox的Text成员Update一下, 应该如何操作呢? 有没有类似MFC的UpdateData操作?
理论上不是应该会自动更新的吗?<asp:DataGrid id="MyDataGrid" Runat="server" Width="600" BackColor="#fffdec" BorderColor="#9999FF"
ShowFooter="False" CellPadding="3" CellSpacing="0" Font-Size="8pt" HeaderStyle-BackColor="#CCFFFF"
OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update"
OnDeleteCommand="MyDataGrid_Delete" AutoGenerateColumns="False">
<HeaderStyle BackColor="#CCFFFF"></HeaderStyle>
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="确认" CancelText="取消" EditText="修改">
<ItemStyle Wrap="False"></ItemStyle>
</asp:EditCommandColumn> <asp:TemplateColumn HeaderText="项目编号">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemTemplate>
<asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "项目编号") %>' ID="lbl_PrjNum"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat="server" ID="tbx_PrjNum" Text='<%# DataBinder.Eval(Container.DataItem, "项目编号")%>'/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>Sub MyDataGrid_Edit( Sender as Object, E as DataGridCommandEventArgs )
MyDataGrid.EditItemIndex = CInt( E.Item.ItemIndex )
MyDataGrid.DataBind()
End SubSub MyDataGrid_Update( Sender as Object, E as DataGridCommandEventArgs )
Dim tbx As TextBox
tbx = E.Item.FindControl( "tbx_PrjNum" )
tbx.Text '问题就出在这里, 这个值无论你怎么改变TextBox中的内容, 他都是永远等于初始化时的值
End Sub