0

我需要知道如何添加Calendar使用HTML helper标签。我找到了一个名为Kendo的第三方库,但是我可以在它自己的 Visual Studio 工具箱中提供的组件中使用任何东西。

注意:我还需要为选定的日期着色,启用/禁用日历中的某些日期

4

2 回答 2

1

如果您使用的是 Asp.net mvc3,请尝试此代码..

  using System;
  using System.Collections.Generic;
  using System.Globalization;
  using System.Linq;
  using System.Text;
  using System.Web;
  using System.Web.Mvc;

 namespace AntiYes.Helpers
{
public static class CalendarExtensions
{
    public static IHtmlString Calendar(this HtmlHelper helper, DateTime dateToShow)
    {
        DateTimeFormatInfo cinfo = DateTimeFormatInfo.CurrentInfo;
        StringBuilder sb = new StringBuilder();
        DateTime date = new DateTime(dateToShow.Year, dateToShow.Month, 1);
        int emptyCells = ((int)date.DayOfWeek + 7 - (int)cinfo.FirstDayOfWeek) % 7;
        int days = DateTime.DaysInMonth(dateToShow.Year, dateToShow.Month);
        sb.Append("<table class='cal'><tr><th colspan='7'>" + cinfo.MonthNames[date.Month - 1] + " " + dateToShow.Year + "</th></tr>");
        for (int i = 0; i < ((days + emptyCells) > 35 ? 42 : 35); i++)
        {
            if (i % 7 == 0)
            {
                if (i > 0) sb.Append("</tr>");
                sb.Append("<tr>");
            }

            if (i < emptyCells || i >= emptyCells + days)
            {
                sb.Append("<td class='cal-empty'>&nbsp;</td>");
            }
            else
            {
                sb.Append("<td class='cal-day'>" + date.Day + "</td>");
                date = date.AddDays(1);
            }
        }
        sb.Append("</tr></table>");
        return helper.Raw(sb.ToString());
    }
}

}

于 2013-02-13T07:21:03.930 回答
0

如果我正确理解了您的问题,只需将日历控件从工具栏拖到您的表单上。然后您可以访问它的属性以相应地影响日历。

于 2013-02-13T07:15:58.560 回答