【问题标题】:Setting Minimum Date to a textbox type=date based on a value in another textbox根据另一个文本框中的值将最小日期设置为文本框类型 = 日期
【发布时间】:2016-04-01 03:47:33
【问题描述】:

我有一个 textbox,其类型为 date,我想将所选日期与我的 ASP.NET 页面中文本框的值进行比较

见下图

ASP.NET 代码:(用于日期文本框)

<asp:Label runat="server" ID="Label11" 
    Font-Bold="True"> Date Received:</asp:Label>&nbsp;
<asp:TextBox runat="server" ID="txtDate" 
    Width="150px" type="date" Height="31px" ></asp:TextBox>

代码背后:

txtDate.Attributes.Add("min", DateTime.Now.ToString("yyyy-MM-dd"));

我可以使之前的日期无法选择,但我想比较在最终交货日期选择的日期。

我只是不知道怎么做。

请帮忙。先感谢您。对 ASP.NET 和 C# 来说还是个新手。

【问题讨论】:

    标签: c# asp.net date textbox


    【解决方案1】:

    您应该能够使用 Asp.Net 的比较验证器来实现这一点。

    <asp:CompareValidator ID="cmpVal1" ControlToCompare="txtFinalDeliveryDate" 
         ControlToValidate="txtDate" Type="Date" Operator="LessThanEqual"   
         ErrorMessage="Date should be less than final delivery date"
         runat="server"></asp:CompareValidator> 
    

    如果用户输入的日期大于最终交货日期,这将显示错误消息。

    这只有在两个控件都是输入控件时才有效。如果需要与标签进行比较,则可以使用 ValueToCompare 属性而不是 ControlToCompare。 ValueToCompare 可以从后面的代码中设置

    【讨论】:

    • 当我将该代码用于比较 txtDatetxtFinalDeliveryDate 时,我没有收到任何页面未查看的错误。等等,我要再试一次。我在比较错误的标签/文本框名称
    • 因此,据我所知,您无法比较标签和文本框 huhuhu
    • 哦.. 没有意识到最终交货日期是一个标签。在这种情况下,您应该使用 ValueToCompare 属性而不是 ControlToCompare。您可以在设置标签时设置它。
    • 在答案中更新了同样的内容
    猜你喜欢
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多