如果textbox2中显示的日期大于textbox1,如何更改标签文本?

时间:2010-12-23 07:02:18

标签: asp.net vb.net

我的asp.net 3.5 VB.net webform中有文本框

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

我想当文本框中的日期大于textbox1时,Label文本将是“No REfund!Sorry”

如何做到这一点

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果你使用javascript做它会更好,因为这个功能不需要回发。在stackoverflow上发布了一个类似的问题,它使用javascript比较两个日期。看看here。您只需要扩展它以包含为标签分配文本。

答案 2 :(得分:0)

为此,您应该使用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