我有一个需要加载自定义网络用户控件的函数,将一些值传递给它,然后获取该控件生成的 HTML。
我有代码:
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。在控件本身中,如果我这样做:
protected void Page_Load(object sender, EventArgs e)
{
Width.ToString().Log();
哪里Log()
是一个可靠的函数,可以将值保存到数据库中,这个函数显然没有执行。
我在这里做的一切正确吗?