前台
function bindCityByProvince(txt,vls){
    alert(txt);
    var tOptione=document.createElement("Option");
    tOptione.text=txt;
    tOptione.value=vls;
    document.all("ctl00_ContentPlaceHolder1_city").add(tOptione);//为下拉框添加项
}
后台
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "bindCityByProvince('请选择市/区','-1');", true);经过Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "bindCityByProvince('请选择市/区','-1');", true);了,
为什么没执行bindCityByProvince(txt,vls)??

解决方案 »

  1.   

    楼主这样是不会触发的,尝试使用Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script type="text/javaScript">函数脚本</script>", true);
    试试
      

  2.   

    Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script type="text/javaScript">函数脚本</script>", true);这样还是没触发啊
      

  3.   

    用this.ClientScript.RegisterStartupScript(GetType(), "", "函数脚本", true);
      

  4.   

     public void RunJs(string js)
        {
            ClientScript.RegisterClientScriptBlock(this.GetType(), "", js, true);
        }
      

  5.   

     public void RunJs(string js)
        {
            ClientScript.RegisterClientScriptBlock(this.GetType(), "", js, true);
        }
      

  6.   

    http://blog.csdn.net/pigHead_chen/archive/2010/06/17/5675506.aspx
      

  7.   


                    Page.ClientScript.RegisterStartupScript(this.GetType(), "qq", "<script type='text/javaScript'>alert('hah');</script>", false);
    这样是可以的啊
      

  8.   

    http://www.cnblogs.com/chenmo0202032220/
      

  9.   

    LZ试下这个方法:
    ScriptManager.RegisterStartupScript(this, this.GetType(), "test", "bindCityByProvince('请选择市/区','-1');", true);
      

  10.   

    Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(222);</script>", false);我写在page_load里面就触发了,但是写在方法里就没用,为什么
      

  11.   

    var useJs = function(txt, vls) {
            alert(txt);
            var tOptione = document.createElement("Option");
            tOptione.text = txt;
            tOptione.value = vls;
            document.all("city").add(tOptione); //为下拉框添加项        }ClientScript.RegisterStartupScript(GetType(), "onclick", "<script>useJs('可以啊!','1');</script>");
    这样是可以的,lz在试试啊!
      

  12.   

     protected void Page_Load(object sender, EventArgs e)
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(222);</script>", false);
                customerId = isLogin();            // 是否显示提交按钮
                if (!IsPostBack)
                {
                    showOrHidden();
                    showButton();            }
                addSendTypeView();
                StringBuilder netpages = new StringBuilder();
                if (Context.Request["netpages"] != null)
                {
                    netpages.Append(Context.Request["netpages"].ToString());
                    if (netpages.ToString() == "provinceChanged")
                    {
                        if (Context.Request["pageparts"] != null)
                        {
                            //bindCityByProvince(int.Parse(Context.Request["pageparts"].ToString()));
                            Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(222);</script>", false);
                        }
                    }
                }        }前面那个Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(222);</script>", false);触发了,但是后面那个经过了没触发
      

  13.   

    参考http://blog.csdn.net/porschev/archive/2010/10/15/5943579.aspx#FeedBack
      

  14.   

    以前遇到过这个问题,这个问题肯定是你其他语句调用js有错误,导致这一句不执行了,你把所以其他的都注释掉,然后单独执行这一个,看看行不行。在一个把你的前台
    function bindCityByProvince(txt,vls){
      alert(txt);
      var tOptione=document.createElement("Option");
      tOptione.text=txt;
      tOptione.value=vls;
      document.all("ctl00_ContentPlaceHolder1_city").add(tOptione);//为下拉框添加项
    }
    改为  function bindCityByProvince(txt,vls){
      alert("test");
      
    }
    试一下,goodluck
      

  15.   


    那个key值命名一下其实楼主的方法是正确的,如果前台没有其他js错误的话,又在同一后台的话,建议试一下把你写的那个key值命名一下,用不同名字,才会运行,相同的话可能会只运行前面的或者不运行的。最大的可能性是前台有其他js错误
      

  16.   

    用Attributes不就ok了 this.youContorl.Attributes.add("事件名","js函数");
      

  17.   


     这2个, 只会执行第一个, 第二个key值 和第一个key值, 重复了。
      Page.ClientScript.RegisterStartupScript(Page.GetType(), "test1", "<script>alert(222);</script>", false);
     加上不同key值, 再试试
      
      

  18.   

    System.Web.HttpContext.Current.Response.Write("<script>alert('注册成功!');window.parent.location.reload();</script>");用这个绝对好使!
      

  19.   

    用到UpdatePanl了吧。用下面的就可以
    ScriptManage.RegisterClientScriptBlock(this,this.GetType(),"","函数名",true);