mvc 3 json [英] mvc 3 json
问题描述
使用System.Text;
使用System;
命名空间PAO.Helper
{
 公共课HtmlHelper
  {
$
      #region" const变量"
      public static StringBuilder sbTable = new StringBuilder();
&NBSP; &NBSP; &NBSP;私人const字符串STRINGFORMAT_TR ="< tr> {0}< / tr>" ;;
&NBSP; &NBSP; &NBSP;私人const字符串STRINGFORMAT_TD ="< td> {0}< / td>" ;;
&NBSP; &NBSP; &NBSP;私人const字符串STRINGFORMAT_TABLE_CALENDAR =
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; "< table class ='tablecalendar'>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; < TR> &NBSP; &NBSP;" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td colspan ='7'align ='center'>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < b取代; {1}< / B>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < / TD> " +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; < / TR> &NBSP; " +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; < TR> " +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'> Sun< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'>星期一< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'>星期二< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'>周三< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'>周四< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'>星期五< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; &NBSP; &NBSP; < td align ='center'>周六< / td>" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; < / TR> " +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; " &NBSP; {0}" +
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; "< / table>" ;;
&NBSP; &NBSP; &NBSP; #endregion
&NBSP; &NBSP; &NBSP; #region"属性"
$
&NBSP; &NBSP; &NBSP; public static int _NumberOfDays {get;组; }¥b $ b &NBSP; &NBSP; &NBSP; public static DateTime _DateInputted {get;组; }¥b $ b &NBSP; &NBSP; &NBSP; public static DateTime _LastDate {get;组; }
&NBSP; &NBSP; &NBSP; #endregion
&NBSP; &NBSP; &NBSP; #region" GetDay"
&NBSP; &NBSP; &NBSP; public static int GetDay()
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;开关(_DateInputted.DayOfWeek.ToString()。ToLower())
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案件"sunday":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回0;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"星期一":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回1;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"星期二":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回2;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"周三":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回3;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案件"星期四":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回4;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"周五":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回5;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案件"星期六":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回6;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;默认值:
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回99;
$
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; #endregion
&NBSP; &NBSP; &NBSP; #region" IsContinue" b
&NBSP; &NBSP; &NBSP; private static bool CheckDays(int aDay)
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; int DaysInMonth = System.DateTime.DaysInMonth(_DateInputted.Year,_DateInputted.Month); //月中天数
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; int Days = _DateInputted.Day;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(aDay == DaysInMonth ||((((aDay - Days)+ 1)== _NumberOfDays)?true:false))
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回true;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回false;
&NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; #endregion
&NBSP; &NBSP; &NBSP; #region" GetMonthYear" b
&NBSP; &NBSP; &NBSP; private static DateTime GetMonthYear(DateTime aDate)
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(aDate.Month == 12)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; DateTime newDate = aDate.AddMonths(1);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; aDate = Convert.ToDateTime(newDate.Month +" - " + 0 + newDate.Year);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; DateTime newDate = aDate.AddMonths(1);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; aDate = Convert.ToDateTime(newDate.Month +" - " + 0 + newDate.Year);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回日期; ;
&NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; #endregion
&NBSP; &NBSP; &NBSP; #region" HolidayOrWeekdays" b
&NBSP; &NBSP; &NBSP;私有静态字符串HolidayOrWeekEnds(int aDay,int aCol)
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; string td = string.Empty;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; string holidayCase = string.Format(" {0} - {1}",_ DateInputted.Month,aDay);
$
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;开关(holidayCase)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"12-25":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='Christmas Day'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"6-6":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='Happy'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"1-1":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='New Year'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"6-12":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='Indepence Day'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"2-14":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='Valentine&#39s Day'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"11-1":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='All Saint&#39s Day'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;案例"11-2":
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='holiday'title ='All Soul&#39s Day'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;默认值:
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(aCol == 0 || aCol == 6)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='weekendnds'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = string.Format("< td class ='weekdays'> {0}< / td>",aDay);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;休息;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回td;
&NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; #endregion
&NBSP; &NBSP; &NBSP; #region" GetCalendar" b
&NBSP; &NBSP; &NBSP; public static StringBuilder GetCalendar(DateTime aDate,int aNoOfDays,ref string [] errorMessage)
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;试试
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; StringBuilder sbTr = new StringBuilder();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; _NumberOfDays = aNoOfDays;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; _DateInputted = aDate;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; int Day = aDate.Day - 1;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; int DayInWeek = GetDay();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; //行数
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; for(int row = 0; row< 7; row ++)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; string td ="" ;;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; bool isColumnDone = false;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; //列
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; for(int col = 0; col< 7; col ++)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; //仅限第一行
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(DayInWeek!= 0)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(col< DayInWeek)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = td +"< td>< / td>" ;;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; Day ++;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; // td = td + string.Format(STRINGFORMAT_TD,Day);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = td + HolidayOrWeekEnds(Day,col);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则if(isColumnDone)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = td +"< td>< / td>" ;;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; Day ++;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; // td = td + string.Format(STRINGFORMAT_TD,Day);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; td = td + HolidayOrWeekEnds(Day,col);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(CheckDays(Day))
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; isColumnDone = true;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; DayInWeek = 0;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; sbTr.AppendLine(string.Format(STRINGFORMAT_TR,td));
$
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(CheckDays(Day)|| row == 6)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; sbTable.AppendLine(string.Format(STRINGFORMAT_TABLE_CALENDAR,sbTr.ToString(),_ DateInputted.ToString(" MMMM-yyyy")));
$
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(((Day - _DateInputted.Day)+ 1)== _NumberOfDays)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回sbTable;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; //递归
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回GetCalendar(GetMonthYear(_DateInputted),_ NumberOfDays - ((Day - _DateInputted.Day)+ 1),ref errorMessage);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; //设为0
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; DayInWeek = 0;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }¥b $ b &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; catch(例外情况)
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; errorMessage [0] = ex.Message.ToString();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; errorMessage [1] =" 1";
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回sbTable;
&NBSP; &NBSP; &NBSP; }
&NBSP; &NBSP; &NBSP; #endregion
&NBSP; }
}
using System.Text;
using System;
namespace PAO.Helper
{
public class HtmlHelper
{
#region " const variables "
public static StringBuilder sbTable = new StringBuilder();
private const string STRINGFORMAT_TR = "<tr>{0}</tr>";
private const string STRINGFORMAT_TD = "<td>{0}</td>";
private const string STRINGFORMAT_TABLE_CALENDAR =
"<table class='tablecalendar'>" +
" <tr> " +
" <td colspan='7' align='center'>" +
" <b>{1}</b>" +
" </td> " +
" </tr> " +
" <tr> " +
" <td align='center'> Sun </td>" +
" <td align='center'> Mon </td>" +
" <td align='center'> Tue </td>" +
" <td align='center'> Wed </td>" +
" <td align='center'> Thu </td>" +
" <td align='center'> Fri </td>" +
" <td align='center'> Sat </td>" +
" </tr> " +
" {0} " +
"</table>";
#endregion
#region " Properties "
public static int _NumberOfDays { get; set; }
public static DateTime _DateInputted { get; set; }
public static DateTime _LastDate { get; set; }
#endregion
#region " GetDay "
public static int GetDay()
{
switch (_DateInputted.DayOfWeek.ToString().ToLower())
{
case "sunday":
return 0;
case "monday":
return 1;
case "tuesday":
return 2;
case "wednesday":
return 3;
case "thursday":
return 4;
case "friday":
return 5;
case "saturday":
return 6;
default:
return 99;
}
}
#endregion
#region " IsContinue "
private static bool CheckDays(int aDay)
{
int DaysInMonth = System.DateTime.DaysInMonth(_DateInputted.Year, _DateInputted.Month); // Days in Month
int Days = _DateInputted.Day;
if (aDay == DaysInMonth || ((((aDay - Days) + 1) == _NumberOfDays) ? true : false))
{
return true;
}
return false;
}
#endregion
#region " GetMonthYear "
private static DateTime GetMonthYear(DateTime aDate)
{
if (aDate.Month == 12)
{
DateTime newDate = aDate.AddMonths(1);
aDate = Convert.ToDateTime(newDate.Month + "-" + 0 + newDate.Year);
}
else
{
DateTime newDate = aDate.AddMonths(1);
aDate = Convert.ToDateTime(newDate.Month + "-" + 0 + newDate.Year);
}
return aDate; ;
}
#endregion
#region " HolidayOrWeekdays "
private static string HolidayOrWeekEnds(int aDay, int aCol)
{
string td = string.Empty;
string holidayCase = string.Format("{0}-{1}", _DateInputted.Month, aDay);
switch (holidayCase)
{
case "12-25":
td = string.Format("<td class='holiday' title='Christmas Day'>{0}</td>", aDay);
break;
case "6-6":
td = string.Format("<td class='holiday' title='Happy'>{0}</td>", aDay);
break;
case "1-1":
td = string.Format("<td class='holiday' title='New Year'>{0}</td>", aDay);
break;
case "6-12":
td = string.Format("<td class='holiday' title='Indepence Day'>{0}</td>", aDay);
break;
case "2-14":
td = string.Format("<td class='holiday' title='Valentine 's Day'>{0}</td>", aDay);
break;
case "11-1":
td = string.Format("<td class='holiday' title='All Saint 's Day'>{0}</td>", aDay);
break;
case "11-2":
td = string.Format("<td class='holiday' title='All Soul 's Day'>{0}</td>", aDay);
break;
default:
if (aCol == 0 || aCol == 6)
td = string.Format("<td class='weekends'>{0}</td>", aDay);
else
td = string.Format("<td class='weekdays'>{0}</td>", aDay);
break;
}
return td;
}
#endregion
#region " GetCalendar "
public static StringBuilder GetCalendar(DateTime aDate, int aNoOfDays, ref string[] errorMessage)
{
try
{
StringBuilder sbTr = new StringBuilder();
_NumberOfDays = aNoOfDays;
_DateInputted = aDate;
int Day = aDate.Day - 1;
int DayInWeek = GetDay();
// Rows
for (int row = 0; row < 7; row++)
{
string td = "";
bool isColumnDone = false;
//columns
for (int col = 0; col < 7; col++)
{
//for first row only
if (DayInWeek != 0)
{
if (col < DayInWeek)
{
td = td + "<td></td>";
}
else
{
Day++;
//td = td + string.Format(STRINGFORMAT_TD, Day);
td = td + HolidayOrWeekEnds(Day, col);
}
}
else if (isColumnDone)
{
td = td + "<td></td>";
}
else
{
Day++;
//td = td + string.Format(STRINGFORMAT_TD, Day);
td = td + HolidayOrWeekEnds(Day, col);
}
if (CheckDays(Day))
{
isColumnDone = true;
DayInWeek = 0;
}
}
sbTr.AppendLine(string.Format(STRINGFORMAT_TR, td));
if (CheckDays(Day) || row == 6)
{
sbTable.AppendLine(string.Format(STRINGFORMAT_TABLE_CALENDAR, sbTr.ToString(), _DateInputted.ToString("MMMM - yyyy")));
if (((Day - _DateInputted.Day) + 1) == _NumberOfDays)
{
return sbTable;
}
else
//recursion
return GetCalendar(GetMonthYear(_DateInputted), _NumberOfDays - ((Day - _DateInputted.Day) + 1), ref errorMessage);
}
// set to 0
DayInWeek = 0;
}
}
catch (Exception ex)
{
errorMessage[0] = ex.Message.ToString();
errorMessage[1] = "1";
}
return sbTable;
}
#endregion
}
}
&NBSP; &NBSP; &NBSP; public JsonResult GetCalendar(string aDate,string aNoOfDays)
&NBSP; &NBSP; &NBSP; {
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; DateTime TheDate = Convert.ToDateTime(aDate);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; int TheNumberOfDays = int.Parse(aNoOfDays);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; string [] errMessage = null;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; StringBuilder sb = new StringBuilder();
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; helper.HtmlHelper.sbTable.Length = 0;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; sb = helper.HtmlHelper.GetCalendar(TheDate,TheNumberOfDays,ref errMessage);
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP;返回Json(新{
Success = errMessage,
  ; htmlCalendar = sb.ToString()
});
  ; &NBSP; &NBSP; &NBSP; }
public JsonResult GetCalendar(string aDate, string aNoOfDays)
{
DateTime TheDate = Convert.ToDateTime(aDate);
int TheNumberOfDays = int.Parse(aNoOfDays);
string[] errMessage = null;
StringBuilder sb = new StringBuilder();
helper.HtmlHelper.sbTable.Length = 0;
sb = helper.HtmlHelper.GetCalendar(TheDate, TheNumberOfDays, ref errMessage);
return Json(new {
Success = errMessage,
htmlCalendar = sb.ToString()
});
}
.tablecalendar
{
边框:1px#e8eef4;
border-collapse:collapse;
显示:内联;
保证金:5px;
display:inline-table;
}
.tablecalendar td
{
填充:5px;
border:solid 1px#e8eef4;
text-align:center;
宽度:35px;
}
。日历日历
{
  ;填充:6px 5px;
text-align:left;
background-color:#e8eef4;
border:solid 1px#e8eef4;
}
/ ******************** ******************************** / b
。周末
{
颜色:红色;
background-color:#FFDDDD;
}
.weekdays
{
颜色:绿色;
$
}
.holiday
{
颜色:白色;
background-color:#FF4040;
}
.tablecalendar
{
border: 1px #e8eef4;
border-collapse: collapse;
display: inline;
margin: 5px;
display: inline-table;
}
.tablecalendar td
{
padding: 5px;
border: solid 1px #e8eef4;
text-align: center;
width: 35px;
}
.tablecalendar th
{
padding: 6px 5px;
text-align: left;
background-color: #e8eef4;
border: solid 1px #e8eef4;
}
/***************************************************/
.weekends
{
color: Red;
background-color: #FFDDDD;
}
.weekdays
{
color: green;
}
.holiday
{
color: white;
background-color: #FF4040;
}
tycharcvg
tycharcvg
推荐答案
ASP.NET MVC论坛
http://forums.asp.net/1146.aspx/1?MVC 是提出此类问题的最佳地点
The ASP.NET MVC forums http://forums.asp.net/1146.aspx/1?MVC is the better place for such questions
这篇关于mvc 3 json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!