mvc 3 json [英] mvc 3 json

查看:58
本文介绍了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 &#39s Day'>{0}</td>", aDay);
                    break;
                case "11-1":
                    td = string.Format("<td class='holiday' title='All Saint &#39s Day'>{0}</td>", aDay);
                    break;
                case "11-2":
                    td = string.Format("<td class='holiday' title='All Soul &#39s 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆