[英]Issues in validating textbox input in c#
我正在執行Windows Phone 8.1項目。 在XAML中,我有兩個文本框,一個用於名字,另一個用於姓氏,以及一個按鈕。 在按鈕單擊事件中,如果其中一個(或兩個)文本框都為空,則我想顯示一條消息,說“等等等等”。
我嘗試了很多方法,但還沒有做到這一點。 這是我能得到的最好的結果,但是它在某種程度上是行不通的:
private async void Button_Click(object sender, RoutedEventArgs e) { if ((Textbox_first_name.DataContext== null) || (Textbox_last_name.DataContext== null)) { var dialog = new MessageDialog("message 2", "message 1"); await dialog.ShowAsync(); } else { Frame.Navigate(typeof(page3)); } }
使用DataContext,我得到了消息。 但是,即使我輸入了任何內容,也不會帶我到第3頁。它僅顯示消息。 因此,它似乎沒有確認else塊。
我試過了
if ((Textbox_first_name_extractor.Text== null) || (Textbox_last_name_extractor.Text== null)) //same everything else
消息甚至沒有來。 即使它是空的,它也立即將我帶到第三頁。 我不知道我做錯了什么或想念什么。 請幫忙!
Windows 8.1; VS2013 Updt4;
您可以嘗試:
if(String.IsNullOrWhiteSpace(Textbox_first_name_extractor.Text) ||
String.IsNullOrWhiteSpace(Textbox_last_name_extractor.Text))
作為您的if語句。 這將檢查是否為空或用空白填充的字符串。
但是,您是否嘗試過調試應用程序? 如果是這樣,您是否檢查了兩個文本框的.Text內容?
或者,如果您使用的是XAML,為什么不使用數據綁定並針對綁定屬性進行驗證?
您可以通過TextBox的Text
屬性訪問TextBox的文本,在這種情況下,請使用String.IsNullOrEmpty
(或String.IsNullOrWhitespace,取決於您的需求)進行驗證:
if (String.IsNullOrEmpty(Textbox_first_name) ||
String.IsNullOrEmpty(Textbox_last_name.Text))
{
var dialog = new MessageDialog("message 2", "message 1");
await dialog.ShowAsync();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.