2012-06-23 27 views
0

我在标记以下验证摘要控制:含量ValidationSummary控件的属性的HeaderText呈现不正确

<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的原因是因为我使用它来设置标题文本的样式(使用选择第一个div的CSS选择器,在错误类中);这可能不是最佳实践,但这是我想出的唯一方法。

回答

0

你有没有尝试如果翻译的消息不可用,则放入会话varible并将其设置为HeaderText属性像

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

在页面加载事件中设置HeaderText属性值。

+0

我试过了,但它没有区别:( – William

+0

这样做的伎俩!不能相信我没有想到的......谢谢! – William