【问题标题】:asp.net calender control problemasp.net 日历控制问题
【发布时间】:2011-03-29 18:22:37
【问题描述】:

我在 asp.net 2.0 中使用日历控件 因为它正在使用母版页..我正在打开一个窗口表单内容页面.. 在 window.close 上,它给了我 null 对象,因为它没有获取表单名称 您的帮助将不胜感激

内容页面上的代码:

<a onclick="openwindow();" ahref="#">
<img src="Images/calendar.gif" style="width: 20px; height: 20px" border=0/></a>
<input ID="Text1" runat="server" readonly="readOnly" type="text" />

function openwindow() {  
    window.open('/Calender.aspx', 'calendar_window','width=154,height=188');
}

从内容页面打开的窗口上的代码

protected void Calender1_SelectionChanged(object sender, EventArgs e)
    {
        string strjscript = "<script language='javascript'>";
        strjscript += "window.opener." + HttpContext.Current.Request.QueryString["formname"];
        strjscript += ".value = '" + Calender1.SelectedDate.ToString("yyyy-MM-dd") + "'; window.close();";
        strjscript += "</script" + ">";  
        Literal1.Text = strjscript; 
    }

    protected void Calendar1_dayrender(object sender, DayRenderEventArgs e)
    {             
          if(e.Day.Date==DateTime.Now)
        {
            e.Cell.BackColor = System.Drawing.Color.LightGray;
        }

    }

【问题讨论】:

  • 当您有其他选项(例如 AJAX 控制工具包日历)时,想知道使用该日历技术的任何理由:asp.net/ajax/ajaxcontroltoolkit/samples/calendar/calendar.aspx 或 jQuery datepicker jqueryui.com/demos/datepicker
  • 是的,由于它的紧迫性,我必须学习 ajax...我也尝试使用 JS 脚本...它在不是 runat=server 的文本框上给了我返回值...如何访问 tom后面代码中的值..
  • 我尝试使用 ajax controltoolkit.. 但是 2.0 有很多错误,3.5 很好
  • 您遇到的错误是什么?确保您指向 Calendar.aspx 的正确路径。我确实看到的一个问题是您正在生成的脚本。你能解释一下你想从那个脚本中得到什么吗?

标签: asp.net


【解决方案1】:

看起来你没有关注this tutorial,但不完全是它在做什么。

注意事项:

1:确保为表单命名

2:通过查询字符串传递文本框引用,即 Calender.aspx?formname=frmCalendar.txtDate

3:calender.aspx 的路径正确。

您已接近解决方案,但您可能还需要为我们分享您的主页代码。

编辑 1 好的,我现在明白你在说什么了。将此脚本块添加到您的内容页面:

<script type="text/javascript">
    function openwindow() {
        var txtid = '<%=txtDate.ClientID %>';
        var frmid = '<%=Page.Form.ClientID %>';
        var qs = "formname=" + frmid + "." + txtid;
            window.open('/Calendar.aspx?' + qs,'calendar_window', 'width=154,height=188');
        }
</script>

虽然如果可能的话尝试使用 jquery datepicker,如果你想走这条路,你可以发布你的代码和问题。

【讨论】:

  • 嗨,这个脚本会将值传递给主表单相同的教程..但是该教程有一个表单标签..内容页面没有..这是我面临的问题,因为当窗口关闭时它没有找到formname.textbox来分配它.......我也尝试过使用这种技术jqueryui.com/demos/datepicker - 但它只适用于html文本我必须在代码中访问这个文本如何去那个。
  • 这是我的主页代码..我删除了表单的东西,我只是关闭窗口,将 vlaue 添加到缓存中。
  • 这段代码有问题..它完美地从窗口中获取价值但是当每次点击提交按钮时......它消失并且验证器触发......这意味着每次如果有任何验证错过它就消失了。而且我没有在后面的代码中得到那个文本值....我不知道为什么会这样
  • 和其他当它的 readonly 属性设置为 false 时它不会变空。 . 指定了同样的问题..
  • 是的,在标记中设置只读可能是一个问题,您可以尝试在代码隐藏中将其设置为只读,如下所示:geekswithblogs.net/ranganh/archive/2007/05/10/112390.aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-02
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多