如何比较gridview文本框中的日期差异

时间:2010-08-12 08:32:52

标签: c# asp.net gridview

我设计了一个gridview,其中一个模板字段就像

<asp:TemplateField>
    <ItemTemplate>
        <asp:Label ID="lblTrialPeriodEnds" runat="server" 
             Text='<%# Eval("trialPeriodEnds","{0:dd/MM/yyyy}") %>'
             Width="61px"></asp:Label>
    </ItemTemplate>
    <HeaderTemplate>
        TrialPeriodEnds
    </HeaderTemplate>
    <EditItemTemplate>
        <asp:TextBox Id="txtRenew" runat="server" 
             Text='<%# Eval("trialPeriodEnds","{0:dd/MM/yyyy}") %>'
             Width="61px" />
    </EditItemTemplate>
</asp:TemplateField>

现在我需要的是当我点击编辑时,我会在文本框后面有一个弹出日历。如果我选择的日期大于文本框中存在的日期,我想将我的数据库列设置为是..

任何想法,请....

2 个答案:

答案 0 :(得分:1)

您可以将文本框中的文本转换为DateTime对象并使用DateTime类方法,或者只删除两个DateTime对象,这些对象将为您提供TimeSpan对象。然后,您可以根据您的要求比较日期。

答案 1 :(得分:0)

假设弹出窗口正在使用客户端脚本而不会导致回发。这是您问题的快速解决方案 1.在页面中添加隐藏字段。确保包含runat =“server”,以便您可以在后面的代码中访问它。

2.创建一个在点击日历日期时调用的函数

Function CompareDate(str CalendarDate)
{
 var Date1 = new Date($("txtRenew").Text); 
 var Date2 = new Date(CalendarDate); 

 if (Date2 > Date1)
 {
     $("#hdnValue").value = "Yes";
 }
 else
 {
     $("#hdnValue").value = "No";
 }
}

3。从后面的代码中检索hdnValue。

日历应该有一个DateChanged事件,您也可以添加此功能。