首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自windows应用程序的LoadControl

来自windows应用程序的LoadControl
EN

Stack Overflow用户
提问于 2010-11-27 02:10:59
回答 2查看 463关注 0票数 2

可以在windows应用程序中使用LoadControl吗?

我有电子邮件生成作为网络,但我想把它移动到每月时事通讯的windows服务。

电子邮件现在被实现为UserControls,通过这种方式,html用户可以很容易地修改外观。

当前的渲染实现如下所示:

代码语言:javascript
复制
StringBuilder sb = new StringBuilder(4000);
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

Page page = new Page();

EmailTemplateBase emailCtrl = (EmailTemplateBase)page.LoadControl(
                "Controls/EmailTempaltes/Template.ascx");
// Exception here

emailCtrl.DataContext = dataContext;
emailCtrl.Parameter = parameter;
emailCtrl.RenderMode = renderMode;
emailCtrl.DataBind();
emailCtrl.RenderControl(htw);

subject = emailCtrl.Subject;

string MessageText = sb.ToString().Replace("\t", "").Replace(Environment.NewLine, "");

return MessageText;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-12 06:12:15

我的解决方案是调用web服务,它能够从.ascx生成超文本标记语言。

  1. 将必要的参数传递到Webservice中的webservice
  2. ,然后构建新页面,然后LoadControl
  3. 将所有参数设置为
  4. 进行渲染到Webservice

您可以看到有问题的代码。

票数 1
EN

Stack Overflow用户

发布于 2010-11-27 05:04:53

您可以使用父控件的Controls.Add方法,而不使用asp.net中使用的LoadControl方法。只需添加一个面板作为父面板,然后:

代码语言:javascript
复制
UserControl uc1 = new UserControl //this is your usercontrol

Panel1.Controls.Add(uc1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4287628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档