shopname.Text改成document.all.shopname.value

解决方案 »

  1.   

    你的shopname在页面加载时就给赋值了吗??
      

  2.   

    shopname.Text是用户在textbox输入的值,除非你在page_load中就给他赋值,否则照你这段代码是不能获得shopname.Text的价值,因为用户输入的数据肯定要postback回服务器的
    如果你在page_load中没有赋值,你把代码改成:
             if(IsPostBack)
    { shopname.Attributes.Add("onkeydown", "if(event.keyCode==13) window.open('your.aspx?id="+shopname.Text+"');");
    }
      

  3.   

    shopname为服务器端的控件。所以它在发送到客户端的时候系统会为它重命名的。就是一个前缀加上你启的名字。如“_前缀_shopname”.而这个前缀在服务器代码可以可到。Page.ClientID“是什么ID我记不得了。总之就在Page里你自己找找看。”然后你把得到的这个值写到浏览器里。如Response.write("<input type=hidden id=clientID value="+Page.clientID+">");这样在你的客房端脚本里就可以得到了。
      

  4.   

    调试一下你就知道了shopname.Text没值
    try this
    private void Page_Load(object sender, System.EventArgs e)
    {
    TextBox1.Attributes.Add("onkeydown", "if(event.keyCode==13) window.open('your.aspx?id='+this.value);");
    }