步骤
1、在aspx页面上添加了一个DataGrid控件
2、单击右键选择生成属性
3、选择按钮列,添加了编辑按钮
4、在属性页里选择闪电图标,双击editcommand,在cs文件中生成了datagrid1_editcommand事件
5、在pageload事件中写
if(!Page.IsPostback)
{
this.DataGrid1.DataSource=数据源;
this.DataGrid1.DataBind();}
6、在datagrid1_editcommand事件中写
{
this.DataGrid1.edititemindex = e.Item.ItemIndex;
this.DataGrid1.DataSource=数据源;
this.DataGrid1.DataBind();}按F5运行,点编辑按钮,页面刷新了一下,原来的数据都没有了,跟踪了一下,根本就没有进datagrid1_editcommand事件,怎么回事?为什么在我去掉 if(!Page.IsPostback) 就可以了??????
1、在aspx页面上添加了一个DataGrid控件
2、单击右键选择生成属性
3、选择按钮列,添加了编辑按钮
4、在属性页里选择闪电图标,双击editcommand,在cs文件中生成了datagrid1_editcommand事件
5、在pageload事件中写
if(!Page.IsPostback)
{
this.DataGrid1.DataSource=数据源;
this.DataGrid1.DataBind();}
6、在datagrid1_editcommand事件中写
{
this.DataGrid1.edititemindex = e.Item.ItemIndex;
this.DataGrid1.DataSource=数据源;
this.DataGrid1.DataBind();}按F5运行,点编辑按钮,页面刷新了一下,原来的数据都没有了,跟踪了一下,根本就没有进datagrid1_editcommand事件,怎么回事?为什么在我去掉 if(!Page.IsPostback) 就可以了??????
OnEditCommand="datagrid1_editcommand"去掉if(!Page.IsPostback) 就可以 ,是因为点击编辑按钮,
服务器端会自动加载该页面,又执行了pageload 里的数据绑定
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
data_bind()
End If End Sub
Sub DataGrid_Edit(ByVal Sender As Object, ByVal E As DataGridCommandEventArgs)
DataGrid1.EditItemIndex = E.Item.ItemIndex
data_bind() End Sub
sub data_bind()
DataGrid1.DataSource=数据源
DataGrid1.DataBind()
end sub
页面<asp:datagrid id="DataGrid1" runat="server" OnItemCommand="DataGrid_ItemCommand" AutoGenerateColumns="False"
AllowPaging="False" ItemStyle-CssClass="CartListItem" FooterStyle-CssClass="cartlistfooter"
HeaderStyle-CssClass="CartListHead" ShowFooter="True" Font-Size="8pt" Font-Name="Verdana"
cellpadding="4" GridLines="Vertical" BorderColor="Black" Font-Names="Verdana" Width="100%"
OnUpdateCommand="DataGrid_Update"
OnCancelCommand="DataGrid_Cancel" OnEditCommand="DataGrid_Edit" > <Columns>
<asp:TemplateColumn HeaderText="字段名称">
<HeaderStyle HorizontalAlign="Center" Width="60%" VerticalAlign="Middle"></HeaderStyle>
<ItemStyle HorizontalAlign="left"></ItemStyle>
<ItemTemplate>
</ItemTemplate>
<edititemtemplate>
</edititemtemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" HeaderText="操作" UpdateText="保存" CancelText="取消" EditText="修改"
ItemStyle-Font-Size="9" ItemStyle-Width="20%"></asp:EditCommandColumn>
</Columns>
<PagerStyle Font-Size="9pt" HorizontalAlign="Right" ForeColor="White" BackColor="#6B696B" Mode="NumericPages"></PagerStyle>
</asp:datagrid>