button OnClick 点击不能刷新界面:源码如下
Default.aspx
<asp:DataList ID="DataList1" runat="server" DataKeyField="id" Width="100%">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" >
<tr class="titletd">
<td>
选择
</td>
<td>
编号</td>
<td>
类别名称</td>
<td>
添加时间</td>
<td>
操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="list1">
<td>
<asp:CheckBox ID="ck" runat="server" /></td>
<td>
<%#Eval("id")%>
</td>
<td>
<%#Eval("cname")%>
</td>
<td>
<%#Eval("addtime", "{0:yyyy-MM-dd}")%>
</td>
<td>
<a href='?id=<%#Eval("id") %>&dos=edit'>编辑</a> | <a href='?id=<%#Eval("id") %>&dos=del'>删除</a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
s_product_class spc=new s_product_class();
this.DataList1.DataSource = spc.select_proclass();
this.DataList1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < this.DataList1.Items.Count; i++)
{
CheckBox chk = (CheckBox)this.DataList1.Items[i].FindControl("ck");
if (chk != null && chk.Checked)
{
//删除代码
//我用了一个LinkButton 用CommandArgument来绑定的要删除的数据的主键(ID)
int id = Convert.ToInt32(this.DataList1.DataKeys[i].ToString());
s_product_class spc = new s_product_class();
spc.del_proclass(id);
}
}
Response.Write("<script language='javascript'>window.location.href='Default.aspx'</script>");
}
当运行以上代码时,点击Button1两次才能删除,不知道怎么回事。。。。