首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net 调用js函数的有关问题

2012-09-25 
asp.net 调用js函数的问题.aspx文件中JScript code script languageJavaScript typetext/javascript

asp.net 调用js函数的问题
.aspx文件中

JScript code
 <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行的方法可以实现功能,代码如下
C# code
    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,用于多选,通过按钮去调用函数

 
C# code
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>");
大家帮忙看看,非常感谢哈

[解决办法]
有一个先执行和后执行的问题。
不要使用 Response.Write

用RegisterStartupScript 试试


[解决办法]
Response.Write("<script language=javascript>window.onload=function(){ConfirmBack('" + ids + "','" + names + "');}</script>");
[解决办法]
window.onload就是在页面加载时执行,不加这个肯定不会执行啊。在jquery里时$(function(...))

热点排行