因此,我已经看到了该领域的许多讨论,但似乎他们主要是在讨论 Windows 窗体,或者他们没有足够时间回答这个特定的场景来为我指明正确的方向。
正是我需要做的(通用示例):
HTML (片段.aspx)
<div id="html_fragment_1" runat="server">Contents</div>
<div id="html_fragment_2" runat="server">Contents</div>
...
代码背后 (fragment.aspx.cs)
Fragments fragment = new Fragments();
fragment.return_fragment( AN INSTANCE THAT REFERS TO html_fragment_N );
类 (Fragments.cs)
public void return_fragment ( AN INSTANCE THAT REFERS TO html_fragment_N ) {
string html = INSTANCE.html_fragment_N;
// DO SOMETHING WITH html
HttpContext.Current.Response.Write(html);
}
我需要这样做的原因是我网站上的每个 aspx 表单都需要通过 Fragments.return_fragment() 以相同的方式进行操作,其中需要从 Form 中读取多个 DIV 的内容并将其排列到 XElement 中回来。
我宁愿让每个表单都使用 Fragments.return_fragment() ,而不是在 CodeBehind 中为每个页面进行操作,这样可以节省实现新表单页面的工作量,并且可以轻松更改代码,而无需在每个页面中更改它形式。