我有文本框在我的asp.net 3.5 VB.net網絡表格如果在textbox2中顯示的日期大於textbox1,如何更改標籤文本?
我TextBox1中的文字是:30日 - 12月2010,下午6點00分零零秒
我希望當文本的日期比TextBox1中大於標籤文本將是「不退款!對不起」
如何做到這一點
我有文本框在我的asp.net 3.5 VB.net網絡表格如果在textbox2中顯示的日期大於textbox1,如何更改標籤文本?
我TextBox1中的文字是:30日 - 12月2010,下午6點00分零零秒
我希望當文本的日期比TextBox1中大於標籤文本將是「不退款!對不起」
如何做到這一點
您應該使用ASP.Net CompareValidator用於此目的。您可以在客戶端和服務器端檢查這兩者。此外,我會建議不要在一個文本框中有日期和時間。這使得它更難以驗證,它不是標準的,所以它可能會造成混亂和錯誤phrone供用戶使用。
<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" />
在服務器端,你也應該引起驗證(f.e如果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
這將是更好,如果你使用JavaScript,因爲這個功能呢不需要回傳。一個類似的問題已經發布在使用javascript比較兩個日期的計算器上。檢查出來here。您只需要擴展它即可將文本分配給標籤。