button OnClick 点击不能刷新界面:源码如下

wws403945133 2010-03-18 05:46:25
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两次才能删除,不知道怎么回事。。。。
...全文
328 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wws403945133 2010-03-20
  • 打赏
  • 举报
回复
贵在参与,人人有分。。。
lijing3333 2010-03-20
  • 打赏
  • 举报
回复
是用循环删除的么? 循环 where id=xx 如此一条一条删除的么?
这样容易出问题。 用where in(xx,xx,xx,xx,)一起删除掉就 没事了...
wws403945133 2010-03-20
  • 打赏
  • 举报
回复
问题没解决,这可咋办、。、
wws403945133 2010-03-19
  • 打赏
  • 举报
回复
心蓝的方法我试过,不过还是不行。。。加断点追踪时,能第一次就删除,但是在iis中运行时,点两次删除才显示,删除掉了,好像页面没有刷新,但是我在后面加了Response.Write("<script language='javascript'>window.location.href='Default.aspx'</script>");
。。。。快来人啊。。。。
hitlcyu19 2010-03-19
  • 打赏
  • 举报
回复
你还是自己加断点调试一下吧 问是问不出结果的 自己调试一下就知道了
心蓝168 2010-03-19
  • 打赏
  • 举报
回复
把这几句
s_product_class spc=new s_product_class();
this.DataList1.DataSource = spc.select_proclass();
this.DataList1.DataBind();

写成一个函数,在spc.del_proclass(id);之后再重新执行一个函数。


原因:实际上在数据库中已经删除了记录,只是页面没有刷新到看不到结果
app_code 2010-03-19
  • 打赏
  • 举报
回复
加载事件是怎么绑的。

这问题没遇到过,不好回答了。
wws403945133 2010-03-19
  • 打赏
  • 举报
回复
断点跟踪时,它就能一次删除了。。。
wws403945133 2010-03-19
  • 打赏
  • 举报
回复
我在Button1_Click里添加了 DataBind();但还是不起作用。。。。
GSDN00A 2010-03-18
  • 打赏
  • 举报
回复
如梦,大家让我喊你到非技术区接分.
wuyq11 2010-03-18
  • 打赏
  • 举报
回复
Button1_Click里
BindData();
重新绑定
丰云 2010-03-18
  • 打赏
  • 举报
回复
这版面搞得。。。。
没有缩进,看代码真累!!
isgoodtime 2010-03-18
  • 打赏
  • 举报
回复
我也遇到过这样的问题现在也还没解决帮忙顶下吧,不过我的是插入一条数据,插入成功后不会马上刷新出已插入的数据
symbol_bc 2010-03-18
  • 打赏
  • 举报
回复
断点跟一下吧,最好的办法
sxiaohui8709253 2010-03-18
  • 打赏
  • 举报
回复
友情帮顶
什么是SWFUpload?   SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 [编辑本段]SWFUpload的主要特点   * 可以同时上传多个文件;   * 类似AJAX的无刷新上传;   * 可以显示上传进度;   * 良好的浏览器兼容性;   * 兼容其他JavaScript库 (例如:jQuery, Prototype等);   * 支持Flash 8和Flash 9;   SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。   在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都是由于错误的设置和低劣的Event Handlers处理程序所造成的。 [编辑本段]文档中文翻译   http://www.v-sky.com/doc/swfupload/v2.1.0/Documentation.html [编辑本段]效果演示   * Classic Form Demo http://demo.swfupload.org/formsdemo ;   * Features Demo http://demo.swfupload.org/featuresdemo ;   * Application Demo http://demo.swfupload.org/applicationdemo ;   * v1.0.2 Plugin Demo http://demo.swfupload.org/v102demo ; [编辑本段]选择合适的Flash控件   在发行包(SWFUpload v2)中含有2个版本的Flash控件(swfupload_f8.swf 与wfupload_f9.swf),其中第一个版本拥有最佳的兼容性,但是为此损失了部分功能;而第二个版本提供了一些附加的功能但是损失了兼容性。 [编辑本段]SWFUpload的初始化与配置   首先,在页面中引用SWFUpload.js ,如      然后,初始化SWFUpload ,如   var swfu;   window.onload = function () {   swfu = new SWFUpload({   upload_url : "http://www.swfupload.org/upload.php",   flash_url : "http://www.swfupload.org/swfupload_f9.swf", file_size_limit : "20480"   });   };   以下是一个标准的SWFUpload初始化设置所需的参数,你可以根据需要自己进行删减:   {   upload_url : "http://www.swfupload.org/upload.php", 处理上传请求的服务器端脚本URL   file_post_name : "Filedata", 是POST过去的$_FILES的数组名   post_params : {   "post_param_name_1" : "post_param_value_1",   "post_param_name_2" : "post_param_value_2",   "post_param_name_n" : "post_param_value_n"   },   file_types : "*.jpg;*.gif", 允许上传的文件类型   file_types_description: "Web Image Files", 文件类型描述   file_size_limit : "1024", 上传文件体积上限,单位MB   file_upload_limit : 10, 限定用户一次性最多上传多少个文件,在上传过程中,该数字会累加,如果设置为“0”,则表示没有限制   file_queue_limit : 2, 上传队列数量限制,该项通常不需设置,会根据file_upload_limit自动赋值   fl

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧