Asp.net ASP:DynamicControl呈现HTML而不是显示源代码

Asp.net ASP:DynamicControl呈现HTML而不是显示源代码,asp.net,dynamic-controls,Asp.net,Dynamic Controls,我有一个ASP动态脚手架项目,我在其中定制了一个详细信息视图。在我的数据源中,我有几个包含HTML的字段,我希望在页面上显示呈现的HTML,而不是当前的源HTML。控件看起来像这样 <tr> <td class="DDLightHeader"> <asp:Label ID="lblStatementHtml" runat="server" Text="Statement" /> </td> <td> &l

我有一个ASP动态脚手架项目,我在其中定制了一个详细信息视图。在我的数据源中,我有几个包含HTML的字段,我希望在页面上显示呈现的HTML,而不是当前的源HTML。控件看起来像这样

<tr>
  <td class="DDLightHeader">
     <asp:Label ID="lblStatementHtml" runat="server" Text="Statement" />
  </td>
  <td>
     <asp:DynamicControl ID="dcStatementHtml" runat="server" DataField="StatementHtml"  />
  </td>
</tr>


我对如何继续感到困惑,因为该控件的默认视图是Text.ascx,它显然只是一个文本(与我在我的网站上呈现HTML时使用的基本控件相同。我可以创建一个新的FieldTemplate来呈现HTML,但如何强制HTML呈现而不是显示其源代码视图。

为了解决上述问题,我必须创建一个新的FieldTemplate

HTML.ascx

<%@ Control Language="C#" CodeBehind="HTML.ascx.cs" Inherits="ProductDynamicCMS.HTML" %>

<asp:Literal runat="server" ID="Literal1" />
然后将该类的UIHint应用于details视图模板中的字段显示

<tr>
  <td class="DDLightHeader">
     <asp:Label ID="lblStatementHtml" runat="server" Text="Statement" />
  </td>
  <td>
     <asp:DynamicControl ID="dcStatementHtml" runat="server" DataField="StatementHtml" UIHint="HTML"  />
  </td>
</tr>


<>和所有都很好。

你确定它是一个你应该使用的动态控件吗?也许考虑一个响应。写到页面的一个声明区域。写会插入HTML,所以它应该渲染。
<tr>
  <td class="DDLightHeader">
     <asp:Label ID="lblStatementHtml" runat="server" Text="Statement" />
  </td>
  <td>
     <asp:DynamicControl ID="dcStatementHtml" runat="server" DataField="StatementHtml" UIHint="HTML"  />
  </td>
</tr>