我有一个带有标准输入的网页表单页面:
<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)是回发值,所以这不是一般的回发问题......
答案 0 :(得分:1)
这就是TextBox is implemented的方式。如果ReadOnly
设置为true。该值存储在ViewState中loaded。发布数据被忽略。
我知道这不是完美的解决方案,但您可以使用隐藏输入将该日期设置回服务器。