スタッフブログ
Blog
・ 2007年7月5日

カレンダーコントロールで英語表記

発言者:kimino、カテゴリー: in お役立ち,パソコン・インターネット

ASP.NETのカレンダーコントロールで英語表記を使えるようにするのはちょっと面倒です。レンダリングのときだけ、一時的にCultureを切り替えてやる必要があるので、Calendarコントロールから派生クラスを作成して対応します。今回i-SITEにもVer1.00.0055以降でこの対応を入れましたので、ご利用ください。
 
 

 public class CultureCalendar: System.Web.UI.WebControls.Calendar
 {
  protected override void Render(HtmlTextWriter output)
  {
   if(CultureName != "")
   {
    CultureInfo ci = "Thread.CurrentThread.CurrentCulture;"
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(CultureName);
    base.Render(output);
    Thread.CurrentThread.CurrentCulture = ci;
   }
   else
    base.Render(output);
  }

  public string CultureName
  {
   get
   {
    string culture = "(string)ViewState[""CultureName"];
    return (culture == null) ? "" : culture;
   }
   set
   {
    ViewState["CultureName"] = value;
   }
  }
 }

2007年7月5日