我的asp.net 3.5 VB.net webform中有文本框
在我的textbox1中,文字是:2010年12月30日,下午06:00:00
我想当文本框中的日期大于textbox1时,Label文本将是“No REfund!Sorry”
如何做到这一点
答案 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