Cannot find the id of the textbox on the user control

S

Samy

Hi There,
I have a user control with a textbox and a button which when clicked
opens a calendar control(calendar.aspx page). When I select a date from
the calendar control, the date is supposed to be populated in the
textbox. I use the user control on a index.aspx page.
In order to achieve this I have a selected intexchange event on the
calendar control. I pass the textbox id using the querystring when the
button is clicked and then retrieve that using a
htmlhiddeniput(id:control) variable on the calendar.aspx page.

if(this.Request["textbox"] !=null)
control.Value = Request.QueryString["textbox"].ToString();

_startDateCalendar_Dialog.Attributes["onclick"] = "var w =
window.open('Calendar.aspx?textbox="+this.ID+"_argument3Value_Txt','cal','width=200,height=200,left=270,top=80');w.focus();return
false;";

For some reason if I say window.opener.document.forms(0)." +
control.Value + ".value = '";
I get a JScript error saying object null or not defined.
Becuase .net runtime cannot see the name of the textbox on the
usercontrol, I use the syntax...this.ID +"_argument3Value_Txt' to
idenify the textbox on the user control,
which I pass it to the calendar page. ID refers to the id of the user
control.

Can anybody get back to me please as to why I am getting this error?

Thanks a lot.
 
P

Peter Rilling

Well, calendar.aspx will never be able to see the textbox because it is on a
different page.

I would suggest not having the pages talk to each other but rather pass
whatever information you need via the querystring or using JavaScript. If
you use something like showModalDialog, then you can even pass information
back to the page that opened the calendar.
 
S

Samy

Hi Peter,
I am sending the control id to the calendar page using the querystring
and using window.opener.document.forms(0)." ...to reference the opener.
I thought that's the way it should be implemented.The same
implementation works if I was using the textbox and the button (which
opens a calendar control)on an aspx page and it is not working only if
the textbox and the button are on the user control which I put it on
the page.
Please let me know if I am not clear.

Thanks.
 
P

Peter Rilling

I see, so you are doing this in JavaScript, good. Make sure that the ID you
are passing is actually the ID of the textbox. View source in your browser
and verify the ID for that textbox.
 
S

Samy

Peter,
I am passing the exact id of the textbox, but no luck in fixing that
error.
Can you think of anything other than that?

Thanks.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,998
Messages
2,570,242
Members
46,835
Latest member
lila30

Latest Threads

Top