modalpopup上的AJAX Calendar extender返回null

时间:2009-06-02 07:32:23

标签: asp.net asp.net-ajax

我在calextender上使用modalpopup获取日期时遇到了一些麻烦。

<asp:TextBox ID="txtPopEndDate" runat="server" Enabled="false"></asp:TextBox>
<img id="calButton" alt="" title="Show Calendar" src="~/App_Themes/Main/img/calendar.png"
                        runat="server" height="20" style="cursor: hand;" />
<ajax:CalendarExtender Animated="true" TargetControlID="txtPopEndDate"
                        runat="server" PopupButtonID="calButton"
                        Enabled="true" ID="calExtender" Format="dd/MM/yyyy"/>

是我必须选择日期的控件,现在当我按下确定按钮时我处理包括日期在内的数据。但是,如果我尝试使用calExtender.selectedDate属性获取日期,我什么也得不到。手动从文本框中获取字符串并解析该字符串也是如此。

我必须提一下,弹出窗口中的文本框和下拉列表中的其他数据没有任何故障。任何帮助都将非常感谢。

3 个答案:

答案 0 :(得分:0)

您的文本框已启用= false。我认为这会在html中将一个禁用的属性设置为true,因此表单的帖子不会发送该值。为什么不想启用文本框?

我还假设你试图在回发后抓住这个值?这是真的吗?

答案 1 :(得分:0)

是的,

与此同时,我找到了问题的解决方案。正如你所说,文本框显然需要启用。这意味着错误日期的选项。 我从文本框中获取了值并使用DateTime.TryParse以这种方式解析它以确保正确的日期。

如果有人有更好的选择,请告诉我

答案 2 :(得分:0)

我们在通过我们的应用程序链接到CalendarExtender的TextBox上使用了Enabled =“false”而没有任何问题。然后我在拒绝合作的页面上添加了日期选择器。 PostBox上从未提供TextBox值。

我在这里找到了解决方案: http://www.west-wind.com/weblog/posts/2005/Dec/20/ASPNET-20-ReadOnly-behavior-change-when-EnableViewState-is-false

我发现的是:

  1. 我可以设置ReadOnly = true,然后使用TextBox1.text = Request[TextBox1.UniqueID]从PostBack上的请求中检索值。

  2. 我可以使用TextBox1.Attribute.Add("readonly", "readonly"),然后按照我的预期设置Text属性。

  3. 我无法使用Enabled = false;TextBox1.Attribute.Add("disabled", "disabled")

  4. 检索该值

    我们没有在此页面上禁用ViewState,并且我们没有在其他页面上获得此行为,因此我猜这种行为也可能由其他内容触发。