0

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

<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>

这会导致内容呈现不正确,可能是因为]]>部分位于注释块之外。为什么会这样?

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

4

1 回答 1

0

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

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

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

于 2012-06-23T19:34:02.710 回答