you must be doing something wrong, try<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server"> void Page_Load(object o, EventArgs e)
{
if (!IsPostBack)
{
SqlDataAdapter da = new SqlDataAdapter("select * from authors",
"server=localhost;database=pubs;uid=sa;pwd=;"); DataSet ds = new DataSet();
da.Fill(ds); DataGrid dg = (DataGrid)Page.FindControl("DataGrid1");
dg.DataSource = ds.Tables[0].DefaultView;
dg.DataBind(); }
}
private void btnDel_Click(object sender, System.EventArgs e)
{
for (int i=0; i < DataGrid1.Items.Count; i++)
{
CheckBox Remove = (CheckBox)DataGrid1.Items[i].FindControl("Remove");
Label DelID = (Label) DataGrid1.Items[i].FindControl("DelID");
if (Remove.Checked == true)
{
Response.Write(DelID.Text + " is checked<BR>");
} }
}
</script>
<html>
<head>
</head>
<body>
<form id="form1" runat="server">
<asp:DataGrid id="DataGrid1" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="CheckBox">
<ItemTemplate>
<asp:CheckBox id="Remove" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="CheckBox">
<ItemTemplate>
<asp:Label id="DelID" runat="server" text='<%# DataBinder.Eval(Container.DataItem,"au_id")%>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:Button id="btnDel" runat="server" Text="Delete" Onclick="btnDel_Click"></asp:Button>
</form>
</body>
</html>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server"> void Page_Load(object o, EventArgs e)
{
if (!IsPostBack)
{
SqlDataAdapter da = new SqlDataAdapter("select * from authors",
"server=localhost;database=pubs;uid=sa;pwd=;"); DataSet ds = new DataSet();
da.Fill(ds); DataGrid dg = (DataGrid)Page.FindControl("DataGrid1");
dg.DataSource = ds.Tables[0].DefaultView;
dg.DataBind(); }
}
private void btnDel_Click(object sender, System.EventArgs e)
{
for (int i=0; i < DataGrid1.Items.Count; i++)
{
CheckBox Remove = (CheckBox)DataGrid1.Items[i].FindControl("Remove");
Label DelID = (Label) DataGrid1.Items[i].FindControl("DelID");
if (Remove.Checked == true)
{
Response.Write(DelID.Text + " is checked<BR>");
} }
}
</script>
<html>
<head>
</head>
<body>
<form id="form1" runat="server">
<asp:DataGrid id="DataGrid1" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="CheckBox">
<ItemTemplate>
<asp:CheckBox id="Remove" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="CheckBox">
<ItemTemplate>
<asp:Label id="DelID" runat="server" text='<%# DataBinder.Eval(Container.DataItem,"au_id")%>' />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:Button id="btnDel" runat="server" Text="Delete" Onclick="btnDel_Click"></asp:Button>
</form>
</body>
</html>
只要加一个if(!IsPostBack){}
就行了
以后分页就失效了。