gpt4 book ai didi

asp.net - 如何将控件呈现的 HTML 写入字符串

转载 作者:行者123 更新时间:2023-12-01 16:00:32 25 4
gpt4 key购买 nike

对于电子商务系统,下订单后我有一个显示订单详细信息的自定义用户控件。我还想将相同的订单详细信息写入电子邮件,因此我想将用户控件的内容写入一个字符串,我可以将其添加到电子邮件正文中。

我尝试使用 RenderControl,但是用户控件上的动态填充标签控件均未填充。

    StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
OrderDetails1.RenderControl(htw);
return sb.ToString();

我在其他地方发现我可以将控件添加到页面,然后将页面的输出写入字符串,但这感觉很笨拙。

似乎我应该能够在第一次呈现控件时捕获控件的内容,这样我就不必重新填充它并重新呈现它。谁知道怎么做?

如果不是,填充控件的最简洁方法是什么?

最佳答案

原来 RenderControl 代码是正确的,我只需要调用控件的 FillData() 函数来从数据库中重新填充控件。

private string RenderOrderInfo()
{
//TODO: Should be able to use RenderControl for this and delete everything beyond the 1st 3 lines
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);
OrderDetails1.FillData();
OrderDetails1.RenderControl(htw);
return sb.ToString();
}

关于asp.net - 如何将控件呈现的 HTML 写入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9105344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com