calendar.aspx.cs cell.Text正在复制



我们正在尝试为我们的安装团队填充日历,该日历显示了来自货车号码的查询的不同值,并在日历中的每个日期上安装时间。我们拥有它,因此每个单元格中都有一个可单击的日期,在下面,文本字符串随货车#和时间显示。但是这是重复的。

我们认为这是字符串,但是如果我们制作相同的字符串并将其写入该单元格的工具提示,则将正确显示。因此,这是出于某种原因。

这是相关代码:

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        String Install = "";
        String ToolTip = "";
        Literal insta = new Literal();
        Literal lit = new Literal();
        e.Cell.BackColor = System.Drawing.Color.SkyBlue;
        var rows = (from row in socialEvents.AsEnumerable()
                    where DateTime.Parse(row["InstallDate"].ToString()) >= e.Day.Date &&
                          DateTime.Parse(row["InstallDate"].ToString()) < e.Day.Date.AddDays(1)
                          select new
                          {
                            VanNum = row["VanNum"],
                            InstallTime = row["InstallTime"]
                          }).Distinct();
        foreach (var row in rows)
        {
            String MyInstall = "";
            MyInstall = "Van #: " + row.VanNum.ToString() + " / Install Time: " + row.InstallTime.ToString();
            Install = Install + "<br/>" + MyInstall;
            ToolTip = ToolTip + "/n" + MyInstall;
        }

        e.Cell.ToolTip = ToolTip;
        lit.Visible = true;
        e.Cell.Controls.Add(lit);
        insta.Text = Install;
        insta.Visible = true;
        e.Cell.Controls.Add(insta);
    }

e.cell.tooltip将显示3行,但是单元格控件中的文字Insta.Text将显示两次。字面的点燃似乎正在添加可单击的日期(我承认,我不知道它是怎么做到的(,这就是为什么有两个字面控制。如果我们只编写一个文字控件,那么我们将失去可点击的日期,但安装数据仍会重复。

测试更多后,我们发现带有文本的控件添加了两次。不知道为什么我们也没有看到两次日期。但是我们在这里找到了答案:https://forums.asp.net/t/453021.aspx?my dayrender event happen happening twice and and don ter ter knows knows knows why why

日光里的活动正在开火两次,所以删除

OnDayRender="Calendar1_DayRender"

从ASCX页面上删除了冗余射击,并且文本仅显示一次。我仍然不确定为什么将日期添加到点亮,只有一次,但这似乎是在其他地方生成的,并且可能是为了。这也解释了工具提示的工作,因为它在添加控件的位置设置了。

最新更新