我在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属性获取日期,我什么也得不到。手动从文本框中获取字符串并解析该字符串也是如此。
我必须提一下,弹出窗口中的文本框和下拉列表中的其他数据没有任何故障。任何帮助都将非常感谢。
答案 0 :(得分:0)
您的文本框已启用= false。我认为这会在html中将一个禁用的属性设置为true,因此表单的帖子不会发送该值。为什么不想启用文本框?
我还假设你试图在回发后抓住这个值?这是真的吗?
答案 1 :(得分:0)
如果有人有更好的选择,请告诉我
答案 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
我发现的是:
我可以设置ReadOnly = true
,然后使用TextBox1.text = Request[TextBox1.UniqueID]
从PostBack上的请求中检索值。
我可以使用TextBox1.Attribute.Add("readonly", "readonly")
,然后按照我的预期设置Text属性。
我无法使用Enabled = false;
或TextBox1.Attribute.Add("disabled", "disabled")
我们没有在此页面上禁用ViewState,并且我们没有在其他页面上获得此行为,因此我猜这种行为也可能由其他内容触发。