jquery datepicker和asp.net c#空值

Posted

技术标签:

【中文标题】jquery datepicker和asp.net c#空值【英文标题】:jquery datepicker and asp.net c# empty value 【发布时间】:2017-12-12 19:32:25 【问题描述】:

这段代码让我很生气:D 我在设置为只读的输入字段中使用 jQuery datepicker,并且 datepicker 应该在同一页面中出现两次,这取决于下拉列表的值。

我使用的语言是 ASP.NET c#:

以下输入文本框位于我的 aspx 页面上:

<asp:TextBox ID="txt_check_chequeDate" runat="server" BorderStyle="Solid" 
BorderWidth="2px" Font-Names="Calibri" Style="margin-left: 0px" ClientIDMode="Static" ReadOnly="true"></asp:TextBox>




<tr ID="tr_wire_TransactionDate" runat="server">
    <td>
        <asp:Label ID="lbl_wire_TransactionDate" runat="server" Font-Names="Calibri" 
            Text="Transaction Date"></asp:Label>
    </td>
    <td>
        <asp:TextBox ID="txt_wire_chequeDate" runat="server" BorderStyle="Solid"
            BorderWidth="2px" ClientIDMode="Static" Font-Names="Calibri" 
            Style="margin-left: 0px" ReadOnly="true"></asp:TextBox>
    </td>
</tr>

我的 jQuery 脚本如下,附有参考:

<script type="text/javascript" src="../Scripts/jquery-1.4.1.min.js"></script>
<script src='../Scripts/jquery-1.4.1-vsdoc.js' type='text/javascript'></script>
<script src='../Scripts/jquery.ui.core.js' type='text/javascript'></script>
<script src='../Scripts/jquery.ui.widget.js' type='text/javascript'></script>



<link href='../Styles/jquery.ui.all.css' rel='stylesheet' type='text/css'/>

<link href='../Styles/jquery.ui.datepicker.css' rel='Stylesheet'
type='text/css' />
<script src='../Scripts/jquery.ui.datepicker.js' type='text/javascript'></script>
<script type='text/javascript'> 
    $(function () 
        $('#txt_check_chequeDate').datepicker( changeYear: true );

    );
    $(function () 
       $('#txt_wire_chequeDate').datepicker( changeYear: true );
    );

当我点击提交按钮时,我通过执行以下操作得到空值:

Debug.WriteLine("on page click value is wire  =  " + this.txt_wire_chequeDate.Text.Trim());
        Debug.WriteLine("on page click value is cheque  =  " + this.txt_check_chequeDate.Text.Trim());

知道为什么我通过 datepicker 得到空日期,当我尝试eariler 时,我只在一种情况下正确获取了值:(

【问题讨论】:

尝试使用.value 而不是.Text.Trim() 【参考方案1】:

去掉webform控件的readonly属性,通过javascript设置readonly属性。

<script type='text/javascript'>
        $(function () 
            $("#txt_check_chequeDate").attr("readonly", true);
            $("#txt_wire_chequeDate").attr("readonly", true);
        )
</script>

【讨论】:

【参考方案2】:

正如post 中所述,试试这个:

txt_wire_chequeDate.Attributes.Add("readonly", "true"); 
txt_check_chequeDate.Attributes.Add("readonly", "true");

并删除Readonly = "true"

【讨论】:

以上是关于jquery datepicker和asp.net c#空值的主要内容,如果未能解决你的问题,请参考以下文章

ASP.net 上的 JQuery DatePicker

未捕获的类型错误:$(...).datepick 不是 asp.net 中 jQuery datetime 中的函数

Gridview Jquery DatePicker中的Asp.Net UpdatePanel

ASP.NET MVC3:使用 JQuery DatePicker 和 editorFor/TextBoxFor 以正确的格式显示日期

asp.net jquery datepicker bug

ASP.Net MVC jQuery UI DatePicker 日期格式