<asp:DataGrid id="MyDataGrid"
OnItemDataBound="MyItemDataBound"               ShowFooter="true"
DataKeyField="admin_id"  
AutoGenerateColumns="false" 
runat="server"   AllowPaging="true"  
PageSize="3"  
PagerStyle-Mode="NumericPages" 
PagerStyle-NextPageText="下一页" 
 PagerStyle-PrevPageText="前一页" 
 PagerStyle-HorizontalAlign="Center" 
PagerStyle-Position="Bottom"                  
OnPageIndexChanged="MyDataGrid_PageIndexChanged"
OnEditCommand="MyDataGrid_Edit" 
OnUpdateCommand="MyDataGrid_Update"
OnCancelCommand="MyDataGrid_Cancel">点击编辑后可以看到更新和取消,点击取消可以正常返回,但是点击更新却不能激活对应的函数
哪位能指点指点?
(在页面中有其他的文本输入框[不在datagrid内]使用了验证是否为空的控件,只要一点更新下面就会提示请输入…………,莫名其妙)

解决方案 »

  1.   

    怎么没人回复?
    我已经弄清楚了,是因为同一个页面存在着验证控件,所以点击保存时激发了那几个验证控件
    不知道有没有办法可以使验证控件与datagrid的这个更新按钮共存呢
      

  2.   

    呵呵
    把编辑所在的列改用模版列,在把几个按钮的causesvalidation设置为false就可以解决了
    为了方便和我一样的初学者把代码贴出来:
    <asp:TemplateColumn HeaderText="操作"  >
        <ItemTemplate>
     <asp:LinkButton ID="cmdEdit" Runat="server"  causesvalidation="false" CommandName="Edit" text="修改"  />
                </ItemTemplate>
    <EditItemTemplate>
      <asp:LinkButton    causesvalidation="false" ID="cmdUpdata" Runat="server" CommandName="Update" text="保存"   />
      <asp:LinkButton  causesvalidation="false"   ID="cmdCancel" Runat="server" CommandName="Cancel" text="取消"    />   
    </EditItemTemplate>
     </asp:TemplateColumn>