ASP.NET Web窗体只读DatePicker不发布值返回

时间:2018-03-19 18:51:36

标签: c# asp.net jquery-ui webforms

我有一个带有标准输入的网页表单页面:

<asp:TextBox id="documentDate2" runat="server" CssClass="form-control readonly" Readonly=True />

控件呈现一个输入元素,jQuery datepicker应用于readonly元素。 readonly方面是从服务器建立的;它仍然被建立为datepicker的原因是readonly属性是动态应用的(从服务器设置,通过检查某些权限的进程)。页面上有一些JS修改日期并在客户端上设置它。

发生保存时,控件将显示为空白,但表单会向服务器发布值。如果我在即时窗口中检查

documentDate2.Text //Equals ""

但如果我检查:

Request.Form[documentDate2.UniqueID] //Equals "6/1/2018"

由于某种原因,未从发布数据加载该值。如果它一直发生,我会认为这是一个readonly和控制回发过程的问题,但大多数时候它确实工作。此外,页面上的其他控件(非readonly)是回发值,所以这不是一般的回发问题......

1 个答案:

答案 0 :(得分:1)

这就是TextBox is implemented的方式。如果ReadOnly设置为true。该值存储在ViewState中loaded。发布数据被忽略。

我知道这不是完美的解决方案,但您可以使用隐藏输入将该日期设置回服务器。