日期选择器问题

时间:2011-08-05 15:41:43

标签: c# jquery asp.net

我开始使用日期选择器,非常喜欢它。但现在我面临着一个问题。 我有一个ASP.Net应用程序。我有一个Master Page,一个Default.aspx页面和几个用户控件(.ascx页面)。在其中一个用户控件中,我有一个带有包含日期​​的文本框的GridView。那些文本框使用datepickers。 GridView位于UpdatePanel中。我为GridView使用自定义分页。例如,我需要转到下一页,UpdatePanel已更新。问题是,当我从初始页面转到另一个页面时,日期选择器消失。 这是我的代码: 在母版页的底部:

<script type="text/javascript"> 
$(document).ready(function() {
    $("input.date").datepicker({ 
        showButtonPanel: true, 
        dateFormat: 'mm/dd/y', 
        changeYear: true, 
        closeText: 'X' 
    });
});
</script>

在GridView中:

<asp:TextBox ID="txtWFHCDate" runat="server" Text='<%#Eval("StrHCDate") %>' BorderStyle="None" Width="80%" CssClass="date" ></asp:TextBox> 

为初始GridView页面生成的html:

<input id="ctl00_CPHDefault_tcTPS_TPProd_ctl01_tcProduction_TPWorkflow_WorkflowGridView_ctl05_txtWFHCDate" class="date hasDatepicker" type="text" style="border-style:None;width:80%;" value="10/18/11" name="ctl00$CPHDefault$tcTPS$TPProd$ctl01$tcProduction$TPWorkflow$WorkflowGridView$ctl05$txtWFHCDate">

更改GridView页面后生成的html:

<input id="ctl00_CPHDefault_tcTPS_TPProd_ctl01_tcProduction_TPWorkflow_WorkflowGridView_ctl05_txtWFHCDate" class="date" type="text" style="border-style:None;width:80%;" value="10/18/11" name="ctl00$CPHDefault$tcTPS$TPProd$ctl01$tcProduction$TPWorkflow$WorkflowGridView$ctl05$txtWFHCDate">

我尝试将脚本从母版页移动到Default.aspx页面和.ascx页面,但没有任何帮助。

你可以帮忙吗? 感谢。

1 个答案:

答案 0 :(得分:1)

在页面加载期间,ready()函数调用datepicker()以向文本输入添加必要的绑定。当您更改GridView / UpdatePanel中的“页面”时,这些文本输入将被丢弃并替换为新的。

在UpdatePanel加载下一个“页面”之后,您需要再次调用datepicker()来重新绑定文本输入。您可以将其集成到.ascx控件中,或使用描述为here的UpdatePanel回调。