repeater嵌套按钮

fuyu6457 2012-04-24 11:42:12
后台代码:protected void Lb_Get_Click(object sender, CommandEventArgs e)
{
int id = int.Parse(e.CommandName);
string sql = " where id=" + id;
string filepath = BIvite.SelectInviteList(sql).ProFileName;
for (int i = 0; i < repeater1.Items.Count; i++)
{
LinkButton lb = (LinkButton)repeater1.Items[i].FindControl("Lb_Get");
lb.Attributes.Add("onclick", "javascript:window.open(\"../FileLoad/Invite/" + filepath + "\")");
}
}
前台代码:<asp:LinkButton ID="Lb_Get" CommandName='<%# DataBinder.Eval(Container.DataItem, "ID")%>' OnCommand="Lb_Get_Click" runat="server">下载</asp:LinkButton>

为什么第一次点击下载没有效果,但是页面会刷新,后面点击下载的时候,都是先弹出下载框然后才进入后台方法,也就是说每次下载获取到的都是前一次点击的那个数据
...全文
117 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqkankan 2012-04-24
  • 打赏
  • 举报
回复
打断点跟踪一下 你就会非常清楚 问题出在哪了

你绑定js下载 click 是在 按钮的事件里面~ 所以第一次点击的时候 是给button 绑定了 onclick 脚本

第二次才真正 onclick

所以你的逻辑有点问题
cn199875041 2012-04-24
  • 打赏
  • 举报
回复
楼上正解,用RegisterStartupScript比较好

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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