繁体   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