control not found on postback

Ask a Question related to ASP.NET General, Design and Development.

  1. #1

    Default control not found on postback

    Hi,

    i am trying to analyze data submitted in a form but the problem is that when
    i try to create the controls in code (which is what i want to do), it throws
    an obect not found exception on postback when i try to Page.FindControl:

    private void Page_Load(object sender, System.EventArgs e)
    {
    if (Page.IsPostBack)
    {

    Debug.WriteLine(((WebControl)Page.FindControl("tes tBox_1")).Attributes["hell
    o"]);
    }
    else
    {
    TextBox txt = new TextBox();
    txt.ID = "testBox_1";
    txt.Attributes.Add("hello", "hi");
    Page.FindControl("test").Controls.Add(txt);
    }
    }

    where control "test" is the form that i am submitting and all im trying to
    do is to debug.writeline "hi" on postback.
    on the other hand, if i manually put a text box in the aspx page and give it
    a hello=hi attribute, everything works like it should.
    can someone please tell me what the problem is?

    thanks,
    igor


    Igor Belagorudsky Guest

  2. Similar Questions and Discussions

    1. control id and name for postback mechanism
      Hi, This may be a dumb question, but why is it necessary for a control's id and name attribute to coincide in order for the postback mechanism to...
    2. get control properties after postback
      I know how to create a custom control by using the Render method. the question is, if I have 2 properties, for example: protected override void...
    3. why does my control retain its value after postback
      i am not implementing any state mechanisms or IPostBackEventHandler in my control, but when my asp.net page accesses the control, the data that was...
    4. Control doesn't respond to Postback
      I have a Custom Control which is used for searching on my site. I've made it a child of a PlaceHolder, which is contained within the server form...
    5. What Control Caused the PostBack?
      Is there any way to dynamically get the name of the control that caused the postback? Since SmartNav is not working for me I'm trying to implement a...
  3. #2

    Default Re: control not found on postback

    you have to create the dynamic control on postback also. also for it to have
    access to its postback data, you should create it during onint, as form load
    is too late, the datapostback event has already fired.

    -- bruce (sqlwork.com)


    "Igor Belagorudsky" <iggy1@hotmail.com> wrote in message
    news:#xMbmOWVDHA.2364@TK2MSFTNGP09.phx.gbl...
    > Hi,
    >
    > i am trying to analyze data submitted in a form but the problem is that
    when
    > i try to create the controls in code (which is what i want to do), it
    throws
    > an obect not found exception on postback when i try to Page.FindControl:
    >
    > private void Page_Load(object sender, System.EventArgs e)
    > {
    > if (Page.IsPostBack)
    > {
    >
    >
    Debug.WriteLine(((WebControl)Page.FindControl("tes tBox_1")).Attributes["hell
    > o"]);
    > }
    > else
    > {
    > TextBox txt = new TextBox();
    > txt.ID = "testBox_1";
    > txt.Attributes.Add("hello", "hi");
    > Page.FindControl("test").Controls.Add(txt);
    > }
    > }
    >
    > where control "test" is the form that i am submitting and all im trying to
    > do is to debug.writeline "hi" on postback.
    > on the other hand, if i manually put a text box in the aspx page and give
    it
    > a hello=hi attribute, everything works like it should.
    > can someone please tell me what the problem is?
    >
    > thanks,
    > igor
    >
    >

    bruce barker Guest

  4. #3

    Default Re: control not found on postback

    hi,

    thanks for your response, but i have a more complicated structure
    unfortunately...

    i dont need to display the same page on postback. i have a sort of
    questionnaire setup where my page checks what questions to ask in the db,
    creates appropriate form elements and waits for submission. then it writes
    down answers and displays the next questions in the same page. so i really
    need the data from my dynamic control without having to recreate it on the
    page.. is this possible and if so at which point would i be able to check
    its data? oninit?

    thank you,
    igor

    "bruce barker" <nospam_brubar@safeco.com> wrote in message
    news:O0NE%23aWVDHA.1984@TK2MSFTNGP11.phx.gbl...
    > you have to create the dynamic control on postback also. also for it to
    have
    > access to its postback data, you should create it during onint, as form
    load
    > is too late, the datapostback event has already fired.
    >
    > -- bruce (sqlwork.com)
    >
    >
    > "Igor Belagorudsky" <iggy1@hotmail.com> wrote in message
    > news:#xMbmOWVDHA.2364@TK2MSFTNGP09.phx.gbl...
    > > Hi,
    > >
    > > i am trying to analyze data submitted in a form but the problem is that
    > when
    > > i try to create the controls in code (which is what i want to do), it
    > throws
    > > an obect not found exception on postback when i try to Page.FindControl:
    > >
    > > private void Page_Load(object sender, System.EventArgs e)
    > > {
    > > if (Page.IsPostBack)
    > > {
    > >
    > >
    >
    Debug.WriteLine(((WebControl)Page.FindControl("tes tBox_1")).Attributes["hell
    > > o"]);
    > > }
    > > else
    > > {
    > > TextBox txt = new TextBox();
    > > txt.ID = "testBox_1";
    > > txt.Attributes.Add("hello", "hi");
    > > Page.FindControl("test").Controls.Add(txt);
    > > }
    > > }
    > >
    > > where control "test" is the form that i am submitting and all im trying
    to
    > > do is to debug.writeline "hi" on postback.
    > > on the other hand, if i manually put a text box in the aspx page and
    give
    > it
    > > a hello=hi attribute, everything works like it should.
    > > can someone please tell me what the problem is?
    > >
    > > thanks,
    > > igor
    > >
    > >
    >
    >

    Igor Belagorudsky Guest

  5. #4

    Default Re: control not found on postback

    Igor,

    I am having the same problem here.
    I am going to Try this:
    on Page postback recreate the same dynamic controls first
    Process the results
    then create the new questions
    response

    I know this is inefficient but what else to do other than some java script??

    Let us know if this works


    "Igor Belagorudsky" <iggy1@hotmail.com> wrote in message
    news:#QVZz9WVDHA.624@TK2MSFTNGP10.phx.gbl...
    > hi,
    >
    > thanks for your response, but i have a more complicated structure
    > unfortunately...
    >
    > i dont need to display the same page on postback. i have a sort of
    > questionnaire setup where my page checks what questions to ask in the db,
    > creates appropriate form elements and waits for submission. then it writes
    > down answers and displays the next questions in the same page. so i really
    > need the data from my dynamic control without having to recreate it on the
    > page.. is this possible and if so at which point would i be able to check
    > its data? oninit?
    >
    > thank you,
    > igor
    >
    > "bruce barker" <nospam_brubar@safeco.com> wrote in message
    > news:O0NE%23aWVDHA.1984@TK2MSFTNGP11.phx.gbl...
    > > you have to create the dynamic control on postback also. also for it to
    > have
    > > access to its postback data, you should create it during onint, as form
    > load
    > > is too late, the datapostback event has already fired.
    > >
    > > -- bruce (sqlwork.com)
    > >
    > >
    > > "Igor Belagorudsky" <iggy1@hotmail.com> wrote in message
    > > news:#xMbmOWVDHA.2364@TK2MSFTNGP09.phx.gbl...
    > > > Hi,
    > > >
    > > > i am trying to analyze data submitted in a form but the problem is
    that
    > > when
    > > > i try to create the controls in code (which is what i want to do), it
    > > throws
    > > > an obect not found exception on postback when i try to
    Page.FindControl:
    > > >
    > > > private void Page_Load(object sender, System.EventArgs e)
    > > > {
    > > > if (Page.IsPostBack)
    > > > {
    > > >
    > > >
    > >
    >
    Debug.WriteLine(((WebControl)Page.FindControl("tes tBox_1")).Attributes["hell
    > > > o"]);
    > > > }
    > > > else
    > > > {
    > > > TextBox txt = new TextBox();
    > > > txt.ID = "testBox_1";
    > > > txt.Attributes.Add("hello", "hi");
    > > > Page.FindControl("test").Controls.Add(txt);
    > > > }
    > > > }
    > > >
    > > > where control "test" is the form that i am submitting and all im
    trying
    > to
    > > > do is to debug.writeline "hi" on postback.
    > > > on the other hand, if i manually put a text box in the aspx page and
    > give
    > > it
    > > > a hello=hi attribute, everything works like it should.
    > > > can someone please tell me what the problem is?
    > > >
    > > > thanks,
    > > > igor
    > > >
    > > >
    > >
    > >
    >
    >

    MS News Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139