请问为什么Textbox设置Enable=false/readonly=true时,页面刷新后控件的内容会被清空? 取消设置就恢复正常.

解决方案 »

  1.   

    页面加载的时候没有为它赋值,如果是回调的话,可以用ViewState做临时存储,在页面加载的时候为其赋值
      

  2.   

    为什么我将textbox设回Enable=true时,刷新后的值又能保留呢?
      

  3.   

    是微软的服务器端控件Textbox,搞不明白为何出现这种情况.
      

  4.   

    在以前的ASP.NET 1.x版本中,设置为ReadOnly的TextBox控件在客户端更改了值后,在服务器端仍然可以得到修改后的值,但在ASP.NET 2.0中,这种做法已经限制。这是为了提高应用程序安全性所考虑的所以说楼主得不到就不奇怪了!~
      

  5.   

    对于disabled的TextBox,在服务器端不能得到修改的值,如果实在要用这个属性,那之后使用隐藏表单域的方法来实现了。ReadOnly属性的TextBox在客户端会展现成这样的标记:<input readonly = "readonly">Enabled属性的TextBox在客户端会展现成这样的标记:<input disabled="disabled">
      

  6.   

    <asp:TextBox ID="tbAddAONo" runat="server"></asp:TextBox>
     protected void Page_Load(object sender, EventArgs e)
            {
                if (this.Session["UserID"] == null)
                {
                    Response.Redirect("../LoginFail.aspx");
                }
                if (!Page.IsPostBack)
                {
                    //this.tbAddAONo.Attributes.Add("disabled", "disabled");
                    //this.tbAddAONo.Enabled = false;
                    //this.tbAddCustomerName.Enabled = false;
                    //this.tbDoNo.Enabled = false;
                    //this.tbMaterialCode.Enabled = false;
                    //this.tbMaterialName.Enabled = false;
                    //this.tbArticle.Enabled = false;
                    //this.tbShadeCode.Enabled = false;
                    //this.tbNM.Enabled = false;
                }
            }
    我什么都没做, 只设后台设置了Enabled=false属性, 然后输入了值, 提交了一下. 值就没有了. 把它设置为Enabled=true, 就没事了. 但这个控件的值我不能让人手工修改.
      

  7.   

    你TextBox的EnableViewState属性设置成了false;
    将这个属性设置成true就可以了!
    代码也可设置:
    TextBox1.EnableViewState = true;
      

  8.   

    我查过EnableViewState了,默认就是true的, 我没改过啊.
      

  9.   

    那可能就是灵异事件了!呵呵!不过在代码中在设置一遍试试!
    TextBox1.EnableViewState = true;
      

  10.   


    看到了, 我用的是asp:textbox, 使用前我把控件的enabled設為false, 而控件的值我是通過JS填充進去的, 不知道跟這有沒有關係呢?