簡體   English   中英

驗證C#中的文本框輸入時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM