假设有两个页面
第一个:上面有TextBox控件,Button控件
第二个:通过上面的BUTTON按钮提交获得第一个页面TextBox的值(即通过Request.Form("TextBox"))现在如果第一个页面使用MasterPage后,第二个页面不能使用Request.Form("TextBox")正常获得数据..
这是为什么??如何正确来取得这些数据?

解决方案 »

  1.   

    这是因为模板中的TextBox已经被自动修改了ID,ID前会自动加前缀.
    你可以查看源码来查找你的TextBox的ID
    然后通过Request.Form["TextBox新的名称"]取值
    一般名称前加 _ct.
      

  2.   

    document.getElementById("_ctl0_ContentPlaceHolder_Detail_txtProdSeqNo").value
    直接把这个新的ID代进去可以用的不 
      

  3.   

    1: 你的TextBox是直接用html写的input标签么?为什么要用Request.Form来取?
    2:根据你的描述,textbox的id会改,说明你用的是服务器控件,那么你为什么不直接通过控件id.Text来取?
    3:你实在要用Request.Form来取,后面的参数用 控件id.ClientID 来取
      

  4.   

    可能我的问题描述的不清楚吧.
    取值是在第二个页面中的..一般能用控件id.text来取吗?尝试使用clientid还是没办法取到..只能使用ct001$区域id$控件id才能取到..
      

  5.   

    这样也可以达到你的要求,稍微有点麻烦   TextBox TextBox1 = (TextBox)this.Master.FindControl("textbox1");
            string textValue = TextBox1.Text;