首页 文章

验证c#中文本框输入的问题

提问于
浏览
0

我正在做一个Windows Phone 8.1项目 . 在XAML中,我有两个文本框,一个用于名字,另一个用于最后一个,还有一个按钮 . 在按钮点击事件中,我想显示一条消息,说“blah blah blah”如果文本框中的任何一个(或两个)都是空的 .

我尝试了很多方法,但未能得到这个 . 这是我能得到的最好的,但它不起作用:

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;

2 回答

  • 0

    你可以尝试:

    if(String.IsNullOrWhiteSpace(Textbox_first_name_extractor.Text) ||
        String.IsNullOrWhiteSpace(Textbox_last_name_extractor.Text))
    

    作为你的if语句 . 这将检查null或空/空白填充的字符串 .

    但是,您是否尝试过调试应用程序?如果是这样,你检查了两个文本框的.Text的内容是什么?

    或者,如果您使用XAML,为什么不使用数据绑定并验证绑定属性?

  • 0

    您可以通过Text property访问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();
    }
    

相关问题