后台循环语句控制window.open()为什么只执行最后一次

wys_123 2018-01-13 09:23:42
cs文件
i = 0;
foreach (DataRow dr in dt.Rows)
{

dr["url_mc"] = @"https://amos.alicdn.com/getcid.aw?spm=a231o.7712113/a.1004.119.57f0806bSKhwZ1&prepvid=200_10.176.50.251_299_1513086902695&extra=&v=3&site=cntaobao&groupid=0&s=1&fromid=cntaobaoAvT0JwqS5WxFYlVnte/pDPUQRLhnThi3&charset=utf-8&uid=" + dr["wwh"].ToString().Trim();

url = Convert.ToString(dr["url_mc"]);

ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script> pldk();</script>");
i++;}

js函数
 <script type="text/javascript">
function pldk() {
var O = '<%=url%>';
var i = '<%=i%>';

window.open('<%=url%>', '<%=i%>', "width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");

}

</script>



...全文
1001 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qyyiz 2019-07-23
  • 打赏
  • 举报
回复
你好,我也是遇到同样的问题,请问如何解决的呢
wys_123 2018-01-13
  • 打赏
  • 举报
回复
引用 2 楼 net_lover 的回复:
你应该传参数啊 String js = ""; foreach (DataRow dr in dt.Rows) { dr["url_mc"] = @"https://amos.alicdn.com/getcid.aw?spm=a231o.7712113/a.1004.119.57f0806bSKhwZ1&prepvid=200_10.176.50.251_299_1513086902695&extra=&v=3&site=cntaobao&groupid=0&s=1&fromid=cntaobaoAvT0JwqS5WxFYlVnte/pDPUQRLhnThi3&charset=utf-8&uid=" + dr["wwh"].ToString().Trim(); url = Convert.ToString(dr["url_mc"]); js += "pldk(‘“ + url + ”’,'" + i + "');" i++;} ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>"+js +"</script>"); <script type="text/javascript"> function pldk(O,i) { window.open(O,i, "width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); } </script>
我传参数了,每次循环,js都能获得链接,但就是只打开最后一次的链接
wys_123 2018-01-13
  • 打赏
  • 举报
回复
来人啊,大佬在哪啊
孟子E章 2018-01-13
  • 打赏
  • 举报
回复
不过,你一次打开这么多窗口,是不好的做法。你可以在页面上点击每行之后再进行弹出
孟子E章 2018-01-13
  • 打赏
  • 举报
回复
你应该传参数啊 String js = ""; foreach (DataRow dr in dt.Rows) { dr["url_mc"] = @"https://amos.alicdn.com/getcid.aw?spm=a231o.7712113/a.1004.119.57f0806bSKhwZ1&prepvid=200_10.176.50.251_299_1513086902695&extra=&v=3&site=cntaobao&groupid=0&s=1&fromid=cntaobaoAvT0JwqS5WxFYlVnte/pDPUQRLhnThi3&charset=utf-8&uid=" + dr["wwh"].ToString().Trim(); url = Convert.ToString(dr["url_mc"]); js += "pldk(‘“ + url + ”’,'" + i + "');" i++;} ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>"+js +"</script>"); <script type="text/javascript"> function pldk(O,i) { window.open(O,i, "width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); } </script>
wys_123 2018-01-13
  • 打赏
  • 举报
回复
打断点看了,每次循环,数据都能传过去,最后却只打开最后一次循环的链接

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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