【问题标题】:how to change the label text if date displayed in textbox2 is greater than textbox1?如果 textbox2 中显示的日期大于 textbox1,如何更改标签文本?
【发布时间】:2010-12-23 22:27:38
【问题描述】:

我的 asp.net 3.5 VB.net 网络表单中有文本框

在我的 textbox1 中,文本是:2010 年 12 月 30 日,下午 06:00:00

我希望当文本框中的日期大于 textbox1 时,标签文本将是“不退款!对不起”

怎么做

【问题讨论】:

    标签: asp.net vb.net


    【解决方案1】:

    您应该为此目的使用 ASP.Net CompareValidator。您可以在客户端和服务器端进行检查。此外,我建议不要在一个文本框中包含日期和时间。这使得验证变得更加困难,而且它不是标准的,因此可能会让用户感到困惑和出错。

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox1" ControlToValidate="TextBox2" Type="Date" Operator="GreaterThan" runat="server" ErrorMessage="No REfund ! Sorry" EnableClientScript="true" ></asp:CompareValidator>
    <asp:Button ID="BtnPostback" runat="server" Text="postback" />
    

    在服务器端,您还应该触发验证(例如,如果禁用了 javascript):

    Private Sub BtnPostback_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnPostback.Click
         Page.Validate()
         If Me.IsValid Then
             'Do something f.e. save'
         End If
    End Sub
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        如果您使用 javascript 执行此操作会更好,因为此功能不需要回发。一个类似的问题已经发布在 stackoverflow 上,它使用 javascript 比较了两个日期。看看here。您只需要扩展它以将文本分配给标签。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多