2017-07-31 11 views
0

カスタムWebユーザーコントロールを読み込んで値を渡し、このコントロールで生成されたHTMLを取得する必要がある関数があります。ASP.netコードの背後には値渡しではないWebユーザーコントロールが生成されます

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(); 
} 

私は戻って取得HTMLは何の値がコントロールに渡されていなかった場合、私が期待するHTMLです:

私は、コードを持っています。私がしなければコントロール自体では、:

Log()がデータベースに値を保存し、信頼性の関数である
protected void Page_Load(object sender, EventArgs e) 
{ 
    Width.ToString().Log(); 

、この関数は明らかに実行されません。

ここですべてを正しく行っていますか?遊んのビットで解決

答えて

0

string renderedControl; 
{ 
    var page = new Page(); 
    var ctrl = (ResponsiveImageFixedSize)page.LoadControl("~/PageControls/ResponsiveImageFixedSize/ResponsiveImageFixedSize.ascx"); 
    ctrl.Width = 600; 
    ctrl.UploadedImage = upload; 
    ctrl.OriginalImagePath = originalImagePath; 
    ctrl.Alt = alt; 
    page.Controls.Add(ctrl); 
    var sw = new StringWriter(); 
    HttpContext.Current.Server.Execute(page, sw, false); 
    renderedControl = sw.ToString(); 
} 
関連する問題