C# 日历日渲染在服务器端不工作

C# 日历日渲染在服务器端不工作,c#,asp.net,calendar,C#,Asp.net,Calendar,我创建了一个带有渲染选项的日历。它在我的本地机器上运行良好,但在服务器上不工作。我给员工看了一张日历上的工作时间表,它在本地机器上运行良好。但是现在我发布在服务器上,它不在那里工作 我的部分代码如下: if (e.Day.Date.Month == DateTime.Now.Month - 1) { if ((lblfromdate.Text != "") && (lbltodate.Text != "")) { if (e.Day.Date &l

我创建了一个带有渲染选项的日历。它在我的本地机器上运行良好,但在服务器上不工作。我给员工看了一张日历上的工作时间表,它在本地机器上运行良好。但是现在我发布在服务器上,它不在那里工作

我的部分代码如下:

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;
                    }
                }
            }
        }
    }
}
if(e.Day.Date.Month==DateTime.Now.Month-1)
{
如果((lblfromdate.Text!=“”)和(&(lbltodate.Text!=“”))
{
if(e.Day.Date0)
{
DataView DV=新的DataView();
DV=DS.DefaultView;
string fromdate=Convert.ToString(lblfromdate.Text.Substring(5,2)+“-”+lblfromdate.Text.Substring(8,2)+“-”+lblfromdate.Text.Substring(0,4));
字符串todate=Convert.ToString(lbltodate.Text.Substring(5,2)+“-”+lbltodate.Text.Substring(8,2)+“-”+lbltodate.Text.Substring(0,4));

DV.RowFilter=“fldfromdate>=#“+fromdate+”#和fldfromdate仔细检查服务器上与开发服务器相比的区域设置

通常,当您将日期从字符串构建为字符串,然后服务器从一个区域切换到另一个区域时,日期格式会出现问题


因此,如果您正在为“dd-MM-yyyy”构建字符串,那么服务器可能正在查找“MM-dd-yyyy”

“它在那里不工作。”“作为一个描述是相当不可用的。到底发生了什么/没有发生什么?错误消息,内容没有呈现,格式错误?我只发布了部分代码。我的代码中有2000多行。请告诉我们什么“不工作”。您是否收到服务器端错误(500)?日期/日期范围是否与您预期的不一样?您不应该只需要2000 LOC来显示日历。看起来您希望将日期着色为假日,并且这些日期是从数据库读取的。您是否已经检查从数据库读取的数据是否正确/如您预期的那样?
<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>