我设计了一个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>
现在我需要的是当我点击编辑时,我会在文本框后面有一个弹出日历。如果我选择的日期大于文本框中存在的日期,我想将我的数据库列设置为是..
任何想法,请....
答案 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事件,您也可以添加此功能。