一、症状:

BlogEngine.NET 的日历部件,在中文状态下,星期部分显示不全,如下图所示:

image

二、原因:

在此部件的源代码中,对其显示格式作了 DayNameFormat="FirstTwoLetters" 设置,这个设置没有考虑到中文的显示效果。

当在英文文化环境下时,取前两位字母,显示效果如下:

image

源代码路径:~\BlogEngine.NET\widgets\Calendar\widget.ascx

...
<blog:PostCalendar ID="PostCalendar1" runat="Server" NextMonthText=">>" DayNameFormat="FirstTwoLetters"
        FirstDayOfWeek="monday" PrevMonthText="<<" CssClass="calendar" BorderWidth="0"
        WeekendDayStyle-CssClass="weekend" OtherMonthDayStyle-CssClass="other" UseAccessibleHeader="true"
        EnableViewState="false" />
...

 

三、解决方案:

将上述源代码修改为如下代码后(DayNameFormat="Short" ),即可。

源代码路径:~\BlogEngine.NET\widgets\Calendar\widget.ascx

...
<blog:PostCalendar ID="PostCalendar1" runat="Server" NextMonthText=">>" DayNameFormat="Short"
        FirstDayOfWeek="monday" PrevMonthText="<<" CssClass="calendar" BorderWidth="0"
        WeekendDayStyle-CssClass="weekend" OtherMonthDayStyle-CssClass="other" UseAccessibleHeader="true"
        EnableViewState="false" />
...

四、解决后的图示如下:

中文环境 英文环境
image image

 

 

[donate:www.zizhujy.com]