我在标记中有以下验证摘要控件:
<asp:ValidationSummary ID="vsValErrs" CssClass="errors" HeaderText="<div><%# TranslatedMessage%></div>" runat="server" />
其中TranslatedMessage是后面的代码中定义的属性。问题是验证摘要控件呈现为
<div id="vsValErrs" class="errors" style="color:Red;">
<div>
<!--[CDATA[<%# TranslatedMessage%-->
]]>
</div>
</div>
导致内容呈现错误,可能是因为]]&gt; 部分位于注释块之外。为什么会这样?
对于那些想知道的人,在HeaderText属性中使用div的原因是因为我正在使用它来设置头文本的样式(使用选择第一个div的CSS选择器,在errors类中);这可能不是最好的做法,但这是我想出的唯一方法。
答案 0 :(得分:0)
您是否尝试在pageload事件中设置headertext属性值,如
protected void Page_Load(..)
{
..
ValidationSummury1.HeaderText="<div>"+TranslatedMessage+"</div>";
}
如果翻译的消息不可用,则将其放入会话变量并将其设置为HeaderText属性。