2012-04-25 17 views
-2

レンダリングオプションを使用してカレンダーを作成しました。私のローカルマシンでは完全に動作しますが、サーバ上では動作しません。私は従業員のタイムシートを現地のマシンでカレンダーに表示しました。しかし、今私はそこで働いていないサーバーに公開されています。カレンダー日はサーバ側ではレンダリングされません

私の部分のコードはここにある:

if (e.Day.Date.Month == DateTime.Now.Month - 1) 
{ 
    if ((lblfromdate.Text != "") && (lbltodate.Text != "")) 
    { 
     if (e.Day.Date < Convert.ToDateTime(lblfromdate.Text)) 
     { 
      e.Cell.Text = string.Empty; 
      e.Cell.BorderColor = System.Drawing.Color.White; 
     } 
     else 
     { 
      DataSet4TableAdapters.sp_getallholidayinfoTableAdapter TA = new DataSet4TableAdapters.sp_getallholidayinfoTableAdapter(); 
      DataSet4.sp_getallholidayinfoDataTable DS = TA.GetData(); 
      if (DS.Rows.Count > 0) 
      { 
       DataView DV = new DataView(); 
       DV = DS.DefaultView; 
       string fromdate = Convert.ToString(lblfromdate.Text.Substring(5, 2) + "-" + lblfromdate.Text.Substring(8, 2) + "-" + lblfromdate.Text.Substring(0, 4)); 
       string todate = Convert.ToString(lbltodate.Text.Substring(5, 2) + "-" + lbltodate.Text.Substring(8, 2) + "-" + lbltodate.Text.Substring(0, 4)); 
       DV.RowFilter = "fldfromdate >=#" + fromdate + "# and fldfromdate <=#" + todate + "#"; 
       if (DV.Count > 0) 
       { 
        string indate = Convert.ToString(DV[0]["fldfromdate"]); 
        string input = indate.Substring(6) + "-" + indate.Substring(0, 2) + "-" + indate.Substring(3, 2); 
        if (Convert.ToString(e.Day.Date.ToShortDateString()) == input) 
        { 
         e.Cell.Controls.Clear(); 
         e.Cell.Text = "Holiday"; 
         e.Cell.BackColor = System.Drawing.Color.BlueViolet; 
        } 
       } 
      } 
     } 
    } 
} 

マイデザインコード:

<asp:Calendar ID="Calendar2" runat="server" BackColor="White" 
    BorderColor="Black" BorderWidth="2px" Enabled="False" 
    Font-Names="Verdana" Font-Size="9pt" ForeColor="Black" 
    Height="183px" NextPrevFormat="FullMonth" ShowGridLines="True" 
    Width="659px" OnDayRender="Calendar2_DayRender" ShowNextPrevMonth="False"> 

    <DayHeaderStyle BackColor="#6699FF" BorderStyle="Solid" 
     Font-Bold="True" Font-Size="8pt" /> 

    <NextPrevStyle Font-Bold="True" Font-Size="8pt" 
     ForeColor="#333333" VerticalAlign="Bottom" /> 

    <OtherMonthDayStyle ForeColor="#999999" /> 

    <SelectedDayStyle ForeColor="White" /> 

    <TitleStyle BackColor="White" BorderColor="Black" BorderStyle="None" 
     Font-Bold="True" Font-Size="12pt" ForeColor="#333399" /> 

</asp:Calendar> 
+0

"それが機能していません "という記述はむしろ説明として使用できません。正確に何が起こるか起こらないか?エラーメッセージ、コンテンツはレンダリングされず、間違った形式ですか? –

+0

部分コードのみを掲載します。私のコードに2000行以上あります。 – Fernando

+0

"うまくいかない"と教えてください。サーバー側エラー(500)が表示されますか?日付/日付の範囲は期待通りではありませんか?カレンダーを表示するには、2000 LOCは必要ありません。休日として日を色付けし、その日をデータベースから読み取るように見えます。データベースから読み込んだデータが正しいかどうかはすでに確認していますか? – Filburt

答えて

0

ダブル開発サーバーに比べて、サーバー上の地域の設定を確認してください。あなたは、文字列から文字列として日付を構築して、その後、サーバーを別の領域から変更通常

は、日付フォーマットですから、DD-MM-」の文字列を構築している場合

に問題があるでしょうyyyy "の場合、サーバーは" MM-dd-yyyy "を検索している可能性があります。

関連する問題