想实现的效果:
父页面中,点击“查询”按钮btn_s 用GridView显示结果。点击gridview某行的按钮btn_gv,在弹出子页面 显示具体信息(数据量大 对应clob型存储),在子页面做更改后保存数据,关闭子页面时 刷新父页面的gridview。
我现在的方法,实现子页面弹出的js函数
OpenUrl(strUrl)
{
var strReturn = window.showModalDialog(strURL,window,"dialogWidth:700px; dialogHeight:400px; status:no; help: no; resizable: no; center:yes"); 
    document.getElementById("btn_s").click();// 子页面关闭时点击查询按钮
}
遇到的问题:1.“查询”按钮btn_s和gridview中模板列按钮btn_gv都用 Html控件,但是 前台如何能取到gridview中的数据ID=GridView1.DataKeys[i].Value??js代码该如何写??
2.“查询”按钮btn_s和gridview中模板列按钮btn_gv都用Web控件 这样数据ID容易取到,但是btn_gv的点击事件调用前台OpenUrl(strUrl)函数不成功——错误提示"document.getElementById("…").click()为空或不是对象"
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "kk")
    {
        ID_tmp = e.CommandArgument.ToString();
        string s = "child.aspx?id=" + ID_tmp + "";
        Page.RegisterClientScriptBlock("a", "<script>abc('" + s + "');</script>");
    }
}请问,上面问题1的js脚本应该怎么写? 问题2是为什么?怎么解决?另外:还有更好的办法实现上面的效果吗?最好能给出参考的代码。