I have a function that needs to load a custom webuser control, pass some values to it then take the HTML generated by this control.
I have the code:
string renderedControl;
{
var page = HttpContext.Current.Handler as Page;
var ctrl = (ResponsiveImageFixedSize)page.LoadControl("~/PageControls/ResponsiveImageFixedSize/ResponsiveImageFixedSize.ascx");
ctrl.Width = 600;
ctrl.UploadedImage = upload;
var sb = new StringBuilder();
var tw = new StringWriter(sb);
var hw = new HtmlTextWriter(tw);
ctrl.RenderControl(hw);
renderedControl = sb.ToString();
}
The HTML I get back is the HTML I would expect if no values had been passed to the control. In the control itself, if I do:
protected void Page_Load(object sender, EventArgs e)
{
Width.ToString().Log();
Where Log()
is a reliable function that saves a value to a database, this function is apparently not executed.
Am I doing everything correctly here?
Solved with a bit of playing around: