如何用c#获取服务器端元素的innerhtml(内部有另一个服务器端控件)
how can get innerhtml of a server side element with c# (with another server-side controls inside)?
or what is the best way for designing email body with visual studio 2010?
i have some codes in c# for sending emails ...(supporting html body)
so i am looking for a way for scape of hardcoding html body!
and so made a server side div in design mode:
如何用c#获取服务器端元素的innerhtml(内部有另一个服务器端控件)?或者使用visual studio 2010设计电子邮件正文的最佳方式是什么?我在c#中有一些代码用于发送电子邮件...(支持html正文)所以我正在寻找一种硬编码html体的scape方式!所以在设计模式下做了一个服务器端div:
<div runat="server" id="MainDiv" style="direction: rtl; font: 12px tahoma,arial,sans-serif; width: 700px;
background-color: #f5f5ff; border: 2px solid #003366;">
<div id="Header" style="width: 690px; background-color: #637eb0; height: 40px; margin: 5px auto;
position: relative;">
<img src="Images/logo.png" alt="logo" title="soscharge" style="width: 200px; position: absolute;
top: 4px; left: 10px;" />
<span style="color: #69fbfd; font: bold 13px tahoma,arial,sans-serif; position: absolute;
top: 11px; right: 10px;">hi ...</span>
</div>
<div id="Content" style="padding: 10px 10px;">
<ul style="margin:0px;padding:0px 10px 10px 10px;">
<li>
title1 : ---
</li>
<li>
title 2 :
<asp:Label ID="lblOredr_Id" runat="server" Text="---" ForeColor="Red"></asp:Label>
</li>
</ul>
<br />
<p style="text-align: center;color:#fd00dc;">
bla bla</p>
</div>
</div>
but i can n't get innterHtml of this div for my email body by below code :
但我无法通过以下代码获取此div的innterHtml对于我的电子邮件正文:
string s = MainDiv.InnerHtml.ToString();
ERROR :
Cannot get inner content of MainDiv because the contents are not literal.
无法获取MainDiv的内部内容,因为内容不是文字的。
also i have a server side table inside MainDiv And i want to add some data dynamically to this table.
with this situation what can i do for getting html for email body ?
thanks in advance
我在MainDiv中有一个服务器端表我想在这个表中动态添加一些数据。在这种情况下,我可以做什么来获取电子邮件正文的HTML?提前致谢
1 个解决方案
#1
18
You can't invoke InnerHtml on a div unless its contents are literal (i.e. there aren't server controls contained inside it). But you can force it to render to a string by doing something like this:
您不能在div上调用InnerHtml,除非其内容是文字的(即其中不包含服务器控件)。但是您可以通过执行以下操作强制它呈现为字符串:
var sb = new StringBuilder();
mainDiv.RenderControl(new HtmlTextWriter(new StringWriter(sb)));
string s = sb.ToString();
更多相关文章
- PHP获取服务器端的相关信息
- 使用ajax在服务器端恢复json时出错
- php清理当前目录下的指定文件和空目录(源码),建议服务器端执行
- 客户端处理和服务器端处理,哪个比较快?
- 简单数据的最佳服务器端数据存储方法
- 如何修复一个页面网站的容器/正文宽度(html,css和js)
- linux socket网络编程:fcntl select(多个客户端连接服务器端情形)
- Linux网络编程-客户端与服务器端通信(Echo)
- 服务器端linux发行版的选择