【问题标题】:How to add a CssClass to the current displayed month in ASP.Net Calendar webcontrol如何在 ASP.Net 日历 web 控件中将 CssClass 添加到当前显示的月份
【发布时间】:2013-08-02 11:18:32
【问题描述】:

我目前正在将 ASP.Net 日历 (system.web.ui.webcontrols.calendar) 实现到一个设计中,该设计需要我向标题中显示的月份添加一个类。具体来说,今天渲染的代码是:

<tr>
    <td>[Previous navigation link goes here]</td>
    <td>August</td>
    <td>[Next navigation link goes here]</td>
</tr>

我想要的是:

<tr>
    <td>[Previous navigation link goes here]</td>
    <td class="CustomCssClass">August</td>
    <td>[Next navigation link goes here]</td>
</tr>

这可能吗?我没有找到任何可以解决我的问题的属性,也没有成功获取实际的 HTML 服务器控件。

提前致谢, 大卫。

【问题讨论】:

    标签: c# asp.net calendar webforms web-controls


    【解决方案1】:

    假设您正在谈论 ASPNet AjaxToolKit 日历控件:

    标题的相关类是“ajax__calendar_header”。你在你的css中覆盖这个类。

    .ajax__calendar_header { background-color: yellow !important; }
    

    编辑:操作后:

    使用服务器控件,有一个名为TitleStyle 的属性。您可以在此处指定格式。或者,您可以使用属性 TitleStyle-CssClass 将 css 类应用于标题。

    <asp:Calendar ID="cal" runat="server" TitleStyle-CssClass="cssclass"></asp:Calendar>
    

    希望对您有所帮助。

    【讨论】:

    • 嗯,可能忘记提了。不,我正在使用网络控件system.web.ui.webcontrols.calendar
    • 有一个属性叫做TitleStyle。该属性能否满足您对样式的要求,还是必须应用 css 类?
    • 是的,我试过那个没有成功,因为它只设置周围元素的样式,而不是单个 td 元素。问题是设计是由广告公司制作的,所以我也无法真正更改 css 文件。
    • 问题是服务器端控件不会在日历的每个部分吐出预定义的类。朴素的桌子。使用TitleStyle-CssClass 属性,您可以设置整个&lt;tr&gt; 的样式,包括箭头。另一种选择是创建一个从日历继承的新控件,然后更改它吐出的 html。但是,这将是矫枉过正。我已经更新了答案。
    • 是的,到目前为止这太过分了。我会将设计发回给代理机构,以便他们将 css 从 tr &gt; td.CssClass 更改为 tr.CssClass &gt; td:nth-child(2) 或类似的东西,它应该可以解决问题。
    猜你喜欢
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多