Disabled textbox is nothing on postback :o(

Discussion in 'ASP .Net Building Controls' started by M O J O, Jun 29, 2006.

  1. M O J O

    M O J O Guest

    I need to use Request.Form.AllKeys to get values of my textboxes, but
    disabled textboxes are not shown.

    Here's my code...

    <%

    @ Page Language="VB" %>
    <!

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <

    script runat="server">
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Handles Me.Load
    ListBox1.Items.Clear()
    If Page.IsPostBack Then
    For Each s As String In Request.Form.AllKeys
    ListBox1.Items.Add(New ListItem(s))
    Next
    End If
    End Sub
    </script>
    <

    html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>Untitled Page</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox ID="txtDisabled" runat="server"
    Enabled="False">abcd</asp:TextBox><br />
    <asp:TextBox ID="txtEnabled"
    runat="server">abcd</asp:TextBox><br />
    <asp:Button ID="Button1" runat="server"
    Text="Button" /><br /><br />
    <asp:ListBox ID="ListBox1"
    runat="server"></asp:ListBox>
    </div>
    </form>
    </body>
    </html>


    Click the button and watch the listbox ... the disabled control is not there.

    I need to get values of disabled controls from inside a webcontrol (not user
    control). I'm having problems using the FindControl method.

    Any idea why the disabled controls are not showing??

    Thanks!

    Mojo
    M O J O, Jun 29, 2006
    #1
    1. Advertising

  2. M O J O wrote:
    > I need to use Request.Form.AllKeys to get values of my textboxes, but
    > disabled textboxes are not shown.
    >
    > Here's my code...
    >
    > <%
    >
    > @ Page Language="VB" %>
    > <!
    >
    > DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <
    >
    > script runat="server">
    > Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    > Handles Me.Load
    > ListBox1.Items.Clear()
    > If Page.IsPostBack Then
    > For Each s As String In Request.Form.AllKeys
    > ListBox1.Items.Add(New ListItem(s))
    > Next
    > End If
    > End Sub
    > </script>
    > <
    >
    > html xmlns="http://www.w3.org/1999/xhtml" >
    > <head runat="server">
    > <title>Untitled Page</title>
    > </head>
    > <body>
    > <form id="form1" runat="server">
    > <div>
    > <asp:TextBox ID="txtDisabled" runat="server"
    > Enabled="False">abcd</asp:TextBox><br />
    > <asp:TextBox ID="txtEnabled"
    > runat="server">abcd</asp:TextBox><br />
    > <asp:Button ID="Button1" runat="server"
    > Text="Button" /><br /><br />
    > <asp:ListBox ID="ListBox1"
    > runat="server"></asp:ListBox>
    > </div>
    > </form>
    > </body>
    > </html>
    >
    >
    > Click the button and watch the listbox ... the disabled control is not there.
    >
    > I need to get values of disabled controls from inside a webcontrol (not user
    > control). I'm having problems using the FindControl method.
    >
    > Any idea why the disabled controls are not showing??


    It's in the protocol. If you make the field readonly instead of disabled
    the value will come over to the server side. I guess it was done to
    prevent unneeded data transfers, bandwidth was scarce a few years back :)

    Jesse
    Jesse Houwing, Jun 30, 2006
    #2
    1. Advertising

  3. That is standard HTML behavior unfortunately. You'll likely want to cache
    the value somewhere else, such as in Viewstate or in a hidden textbox.

    --
    I hope this helps,
    Steve C. Orr, MCSD, MVP
    http://SteveOrr.net


    "M O J O" <> wrote in message
    news:...
    >I need to use Request.Form.AllKeys to get values of my textboxes, but
    > disabled textboxes are not shown.
    >
    > Here's my code...
    >
    > <%
    >
    > @ Page Language="VB" %>
    > <!
    >
    > DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    > <
    >
    > script runat="server">
    > Protected Sub Page_Load(ByVal sender As Object, ByVal e As
    > System.EventArgs)
    > Handles Me.Load
    > ListBox1.Items.Clear()
    > If Page.IsPostBack Then
    > For Each s As String In Request.Form.AllKeys
    > ListBox1.Items.Add(New ListItem(s))
    > Next
    > End If
    > End Sub
    > </script>
    > <
    >
    > html xmlns="http://www.w3.org/1999/xhtml" >
    > <head runat="server">
    > <title>Untitled Page</title>
    > </head>
    > <body>
    > <form id="form1" runat="server">
    > <div>
    > <asp:TextBox ID="txtDisabled" runat="server"
    > Enabled="False">abcd</asp:TextBox><br />
    > <asp:TextBox ID="txtEnabled"
    > runat="server">abcd</asp:TextBox><br />
    > <asp:Button ID="Button1" runat="server"
    > Text="Button" /><br /><br />
    > <asp:ListBox ID="ListBox1"
    > runat="server"></asp:ListBox>
    > </div>
    > </form>
    > </body>
    > </html>
    >
    >
    > Click the button and watch the listbox ... the disabled control is not
    > there.
    >
    > I need to get values of disabled controls from inside a webcontrol (not
    > user
    > control). I'm having problems using the FindControl method.
    >
    > Any idea why the disabled controls are not showing??
    >
    > Thanks!
    >
    > Mojo
    >
    Steve C. Orr [MVP, MCSD], Jun 30, 2006
    #3
  4. M O J O

    Rick Strahl Guest

    Actually ReadOnly also doesn't return the value either.

    I posted a BLOG entry about this some time ago and there were quite a few
    useful comments there as well:

    http://west-wind.com/weblog/posts/3939.aspx

    +++ Rick ---

    --

    Rick Strahl
    West Wind Technologies
    http://www.west-wind.com/weblog
    http://www.west-wind.com/wwThreads/


    "Jesse Houwing" <> wrote in message
    news:%...
    >M O J O wrote:
    >> I need to use Request.Form.AllKeys to get values of my textboxes, but
    >> disabled textboxes are not shown.
    >>
    >> Here's my code...
    >>
    >> <%
    >>
    >> @ Page Language="VB" %> <!
    >>
    >> DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    >> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <
    >>
    >> script runat="server">
    >> Protected Sub Page_Load(ByVal sender As Object, ByVal e As
    >> System.EventArgs) Handles Me.Load
    >> ListBox1.Items.Clear()
    >> If Page.IsPostBack Then
    >> For Each s As String In Request.Form.AllKeys
    >> ListBox1.Items.Add(New ListItem(s))
    >> Next
    >> End If
    >> End Sub
    >> </script> <
    >>
    >> html xmlns="http://www.w3.org/1999/xhtml" >
    >> <head runat="server">
    >> <title>Untitled Page</title>
    >> </head>
    >> <body>
    >> <form id="form1" runat="server">
    >> <div>
    >> <asp:TextBox ID="txtDisabled" runat="server"
    >> Enabled="False">abcd</asp:TextBox><br />
    >> <asp:TextBox ID="txtEnabled"
    >> runat="server">abcd</asp:TextBox><br />
    >> <asp:Button ID="Button1" runat="server"
    >> Text="Button" /><br /><br />
    >> <asp:ListBox ID="ListBox1"
    >> runat="server"></asp:ListBox>
    >> </div>
    >> </form>
    >> </body>
    >> </html> Click the button and watch the listbox ... the disabled control
    >> is not there.
    >>
    >> I need to get values of disabled controls from inside a webcontrol (not
    >> user control). I'm having problems using the FindControl method.
    >>
    >> Any idea why the disabled controls are not showing??

    >
    > It's in the protocol. If you make the field readonly instead of disabled
    > the value will come over to the server side. I guess it was done to
    > prevent unneeded data transfers, bandwidth was scarce a few years back :)
    >
    > Jesse
    Rick Strahl, Jul 9, 2006
    #4
  5. * Rick Strahl wrote, On 9-7-2006 1:08:
    > Actually ReadOnly also doesn't return the value either.
    >
    > I posted a BLOG entry about this some time ago and there were quite a
    > few useful comments there as well:
    >
    > http://west-wind.com/weblog/posts/3939.aspx


    That is a bug in .NET then, as the value is posted back from a HTML/HTTP
    point of view, but thank you for pointing this out.

    Jesse
    Jesse Houwing, Jul 9, 2006
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Thanks
    Replies:
    2
    Views:
    1,677
    Thanks
    Feb 8, 2004
  2. djk
    Replies:
    2
    Views:
    350
  3. =?Utf-8?B?VHlsZXI=?=

    submit (or postback) does nothing in IIS 6.0

    =?Utf-8?B?VHlsZXI=?=, Mar 1, 2006, in forum: ASP .Net
    Replies:
    1
    Views:
    474
    Phillip N Rounds
    Mar 1, 2006
  4. Chris Lane
    Replies:
    3
    Views:
    151
    Chris Lane
    Oct 31, 2005
  5. Devin Jeanpierre
    Replies:
    2
    Views:
    427
    Devin Jeanpierre
    Feb 14, 2012
Loading...

Share This Page