asp.net 调用js函数的问题

bb_chen 2012-09-19 05:47:04
.aspx文件中

 <script language="JavaScript" type="text/javascript">

function ConfirmBack(a, b) {

window.opener.document.getElementById('<%= Request["qid1"] %>').value = a;
window.opener.document.getElementById('<%= Request["qid2"] %>').value = b;

window.close();

}
</script>


我用双击Gridview行的方法可以实现功能,代码如下

protected void gvDetail_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string x = e.Row.Cells[0].Text;

e.Row.Attributes.Add("OnDblClick", "ConfirmBack('" + e.Row.Cells[0].Text + "','" + e.Row.Cells[1].Text + "')");
}
}



然后我在gridview中加入了一列checkbox,用于多选,通过按钮去调用函数

protected void btnOK_Click(object sender, EventArgs e)
{
foreach (GridViewRow GR in this.gvDetail.Rows)
{
CheckBox CB = (CheckBox)GR.FindControl("CheckBox1");
if (CB.Checked)
{
ids = ids + GR.Cells[1].Text + ","; ;
names = names + GR.Cells[2].Text + ",";
}
}
//注:以上正确的取得了值

Response.Write("<script language=javascript>ConfirmBack('" + ids + "','" + names + "')</script>");

}




用这种方法就不行,只是闪了一下就没反应。

应该是这条语句有问题
Response.Write("<script language=javascript>ConfirmBack('" + ids + "','" + names + "')</script>");
大家帮忙看看,非常感谢哈
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我就是大神 2012-09-20
  • 打赏
  • 举报
回复
window.onload就是在页面加载时执行,不加这个肯定不会执行啊。在jquery里时$(function(...))
bb_chen 2012-09-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

Response.Write("<script language=javascript>window.onload=function(){ConfirmBack('" + ids + "','" + names + "');}</script>");
[/Quote]

牛人啊。这样可以实现。

但是我在网上查到都是直接调用的,不需要加window.onload=function(){ 这段,
我个人理解了下 是不是因为点了按钮后,页面会刷新一下,然后加window.onload=function(){ 就可以在刷新后执行js函数?

请指教哈
机器人 2012-09-19
  • 打赏
  • 举报
回复
Response.Write("<script language=javascript>window.onload=function(){ConfirmBack('" + ids + "','" + names + "');}</script>");
bb_chen 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

有一个先执行和后执行的问题。
不要使用 Response.Write

用RegisterStartupScript 试试
[/Quote]

试过了 也是一样的
Banianer 2012-09-19
  • 打赏
  • 举报
回复
有一个先执行和后执行的问题。
不要使用 Response.Write

用RegisterStartupScript 试试

bb_chen 2012-09-19
  • 打赏
  • 举报
回复
想了一下午了 还是没找到解决方法,唉 太痛苦。
非常感谢各位哈
不断更新中  Asp.net页面内传参数方法  调用存储过程(两种方法比较)  调用存储过程通用类DBHelper  加密解密  SQL常用DBHelper  Asp.net存储过程无限分类  TreeView无限分类  无限分类MVC  荧光棒效果 获取控件上全选  回车转换成Tab  DataGrid超级连接列  DataGrid行随鼠标变色  数字格式化  日期格式化  打开新的窗口并传送参数  为按钮添加对话框  删除表格选定记录  删除表格记录警告  关于日期格式  表格超连接列传递参数  清空Cookie  获取错误信息并到指定页面  自定义异常处理  javascript小技巧  DotNet 密码加密的技术  用户MD5加密  ASP.net验证码实现  图片水印  防盗链  .NET(C#)连接各类数据库  读取配置文件数据库连接串  正则表达式验证  递归把十进制转换八进制(面试题目)  Mysql测试连接(DLL的引用)(插入与读取)  Asp.Net编辑器Fckeditor的使用  Asp.Net中FileUpload上传文件  Asp.Net中WebServices的使用  Asp.net手动绑定数据(分页、编辑、删除、加控件等操作)  Asp.net中My97DatePicker4.2日期的使用  Asp.net中DataList控件添加删除  Asp.net获取请求的用户信息IP地址  获取世界IP地址库显所在城市信息  MySQL事务处理  SQL内部常用函数  为gridview“删除”列添加确认对话框

62,107

社区成员

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

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

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

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