-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>
4

1 に答える 1

0

開発サーバーと比較して、サーバーの地域設定を再確認してください。

通常、文字列から文字列として日付を作成しているときに、サーバーがある地域から別の地域に変更されると、日付形式に問題が発生します。

したがって、「dd-MM-yyyy」の文字列を作成している場合、サーバーは「MM-dd-yyyy」を検索している可能性があります。

于 2012-04-25T09:53:57.720 に答える