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