ValidationSummary控件的HeaderText属性中的内容呈现不正确

时间:2012-06-23 19:27:09

标签: asp.net html

我在标记中有以下验证摘要控件:

<asp:ValidationSummary ID="vsValErrs" CssClass="errors" HeaderText="<div><%# TranslatedMessage%></div>" runat="server" />

其中TranslatedMessage是后面的代码中定义的属性。问题是验证摘要控件呈现为

<div id="vsValErrs" class="errors" style="color:Red;">
    <div>
        <!--[CDATA[<%# TranslatedMessage%-->
        ]]&gt;
    </div>
</div>

导致内容呈现错误,可能是因为]]&gt; 部分位于注释块之外。为什么会这样?

对于那些想知道的人,在HeaderText属性中使用div的原因是因为我正在使用它来设置头文本的样式(使用选择第一个div的CSS选择器,在errors类中);这可能不是最好的做法,但这是我想出的唯一方法。

1 个答案:

答案 0 :(得分:0)

您是否尝试在pageload事件中设置headertext属性值,如

protected void Page_Load(..)
{
..
ValidationSummury1.HeaderText="<div>"+TranslatedMessage+"</div>";
}

如果翻译的消息不可用,则将其放入会话变量并将其设置为HeaderText属性。