【问题标题】:.net calendar - making the whole cell perform postback (clickable).net 日历 - 使整个单元格执行回发(可点击)
【发布时间】:2026-01-06 04:15:02
【问题描述】:

我已经启动并运行了一个 .net 日历,并从数据库中获取信息。默认情况下,日期编号已应用回发操作。

我想要做的是将该操作应用于整个单元格,这样用户就不需要只点击文本链接。

我是 dayRenderer 操作,我有以下行来尝试复制操作,但第二个参数我不确定如何设置它。

它似乎给它一个 id,例如3315,但我不确定如何手动获取以下代码所需的 ID。我希望这是有道理的!我是 .NET 新手,所以不太了解我的术语!

e.Cell.Attributes.Add("OnClick", 
    string.Format("javascript:__doPostBack('{0}','{1}')", 
    Calendar1.ClientID, ***ID_NEEDED_HERE***));

【问题讨论】:

    标签: c# .net calendar postback


    【解决方案1】:

    e.Cell.Attributes.Add("OnClick",e.SelectUrl);

    在你的 dayRenderer 中会模拟数字点击。

    【讨论】:

      【解决方案2】:

      该参数是自 2000 年 1 月 1 日以来日历第一天的天数,前面带有“V”。

      因此,ID 为“V0”表示 2000 年 1 月 1 日,ID 为“V5”表示 2000 年 1 月 6 日,ID 为“V-5”表示 1999 年 12 月 27 日。

      干杯,

      鲁本

      【讨论】:

      • 是我提出的问题,但我无法理解您的回答。
      【解决方案3】:

      这是我尝试了大约一天后的答案。 在 DayRender 事件中,您必须粘贴此代码或创建一个 Sub() 并从那里调用它

      Private AdditionaleText Sub(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs)

      dim text as string = "MyText"

      e.Cell.Text = """

      '这里还可以自定义Text的样式

      e.Cell.Text += text & "
      " & e.Day.DayNumberText e.Cell.Attributes.Add("OnClick",e.SelectUrl);

      结束子

      您可以只使用最后一句话,但不会将文本显示为可点击,但它可以工作 洞码看起来好多了 e.SelectUrl 给你相同的引用,你可以检索调用

      "javascript:__doPostBack('ctl00$ctl00$MainContent$ContentPlaceHolder1$CalendarSailingDay$Calendar','" & ID & " style=""color:#663399"" >

      ....这实际上非常令人困惑。 祝你好运!!!

      【讨论】: