-
I want to use codebehind to pass property values to a control that I've embedded INSIDE of a user control.In other words, let's say I have the following:MyPage.aspx...with the following control placed on it...MyUserControl.ascx... and inside of MyUserControl.ascx, is an instance of ....MyCommercialUploadControl1I want to be able to write a property to the embedded commerical component:MyCommercialUploadControl1.TargetFolderI want to be able write this property programmatically from the aspx page that originally called the instance of MyUserControl, as follows:[from MyPage.aspx]MyUserControl.TargetFolder = @"c:\whatever";Failure #1: I attempted to add logic to the codebehind for my .ascx that read the value of a property attached to itself, and then mapped that value to the embedded commercial control, e.g.MyCommercialUploadControl1.TargetFolder = this.TargetFolder// "this" refers to the ascx instanceThis did not work.Failure #2: I experimented with various scenarios involving doing the mappings onPreInit, thinking I might be running into a page lifecycle issue. This did not work either.I can successfully write properties to the user control itself, but I haven't figured out how to write properties to controls INSIDE of the control. In all cases the debugger indicates null values where I want my properties to end up. Can anyone help?Thank you.-KF
-
Answering my Q (with a little help from MSFT's friends):
the programmatic assignments on the .aspx page need to be wrapped in the Page_Init() event, like so:
protected void Page_Init()
{
PictureUploaderAndProcessor1.PathVirtual =
"~/ni/apps/xxx/images/submitted/";
}
do that, and everything works like a charm.
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.