<SCRIPT language="javascript">
function clickok()
  {                        
     returnall = document.all("txt_ID").value+","+document.all("txt_NA").value;
     window.returnValue=returnall;
 window.close();
 return true;
   }
</SCRIPT>
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{   
// 在此处放置用户代码以初始化页面
ShowAll();
}
}private void btn_cx_Click(object sender, System.EventArgs e)
{
    GYS_Bll gb = new GYS_Bll();
gb.Entity.gys = txt_DH.Text.Trim();
if(gb.getOnly() == false)
{
DataSet ds = gb.getNP();
DataRow dr = ds.Tables[0].Rows[0];
txt_ID.Text = dr["gys_id"].ToString();
txt_NA.Text = dr["gys"].ToString();
    btn_cx.Attributes.Add("onClick","javascript:clickok()");
}
else

DataSet ds = gb.getNP();
dg_gys.DataSource = ds;
dg_gys.DataBind();
}
}

解决方案 »

  1.   

    那是因为
    你执行btn_cx_Click的时候才绑定onClick啊。当然是点击之后,再次点击才有效啊
      

  2.   

    那我知道,第一次是注册onclick嘛,那有没有其它不用注册的方法?
      

  3.   

    btn_cx.Attributes.Add("onClick","javascript:clickok()");
    你可以改成
    Page.ClientScript.RegisterStartupScript(Page.GetType(),"js","clickok()",true)
      

  4.   

    Page.ClientScript.RegisterStartupScript(Page.GetType(),"js","clickok()",true)
    改了这个后,出了system.web.ui.page不存在ClientScript
      

  5.   

    还有没有其它不用在page_load注册的方法?
      

  6.   

    出了system.web.ui.page不存在ClientScript?
    你使用的是asp.net2.0以前的版本?参考http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.clientscript%28VS.80%29.aspx
      

  7.   

    我的是.net2003学校就用这个,我也没办法
      

  8.   


    那就使用
    Page.RegisterStartupScript("js","<script>clickok();</script>")
    http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.registerstartupscript%28VS.80%29.aspx
      

  9.   

    这我试过了,按了后没反应,不会调用clickok()
      

  10.   

    本帖最后由 net_lover 于 2012-09-23 00:25:49 编辑
      

  11.   

    Page.RegisterStartupScript("js","<script>clickok();</script>")这是对的,可以了,谢谢高手啊,真想给你100分