先说说我的情况 1. GridView是AutoGenerateColumns="True",即列是自动生成的,但是由于各种需要,还添加了自己摸板列,如: <asp:TemplateField HeaderText="详细情况"> <ItemTemplate> <a href='bdgl03.aspx?ID= <%# DataBinder.Eval(Container.DataItem,"ID") %>'>详细情况 </a> </ItemTemplate> <ItemStyle Width="30px" BorderWidth="1px" HorizontalAlign="Center" /> <HeaderStyle HorizontalAlign="Center" /> </asp:TemplateField> 2.生成表格的Sql语句是CS文件中给出的,即在 if (!IsPostBack)中进行绑定数据. 3.该控件要来更新数据,因此加入了如下代码: <asp:TemplateField HeaderText="编辑" ShowHeader="False"> <EditItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update" Text="更新"> </asp:LinkButton> <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消"> </asp:LinkButton> </EditItemTemplate> <ItemStyle BorderWidth="1px" HorizontalAlign="Center" VerticalAlign="Middle" Width="120px" /> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit" Text="编辑"> </asp:LinkButton> </ItemTemplate> </asp:TemplateField> 我的问题是: 当我点击"编辑",修改数据后,再点"更新",此时执行GridView_RowUpdating事件,需要获取当前行的"可编辑框"的内容,(由于我的列是自动生成的),没有用模板,因此每一个可编辑框没有名字,我用如下方法获取: string ss = (this.myGridView.Rows[e.RowIndex].Cells[4]).ToString(); (其中4是列序号) 用此方法可以获取主键列的数值(不可编辑的显示数据),不能获取 可编辑框 中的数据. 请大家给个办法. |
100 修改 删除 举报 引用 回复 |
|
|
|
|
|
|
|
|
|
|