0

我通过 WCF 服务将文本框和复选框的内容发送到我的数据库。

到目前为止,我有

  • fNameTxtBox.Text, - 字符串
  • (日期时间) BirthDate.Value, - System.DateTime
  • toggle1.IsChecked, - bool

但是如果数据类型是 int 会发生什么?

不幸的是,自动完成功能对我没有帮助,当然它也不接受.Text作为结局。

任何人都可以伸出援助之手,让我知道这将是什么?

编辑:

这是我正在努力完成的完整声明。我正在寻找 ownerTextBox 的结尾,当源是 WP7 应用程序上的文本框时,该方法要求它是一个 int:

    private void addAccountBtn_Click(object sender, RoutedEventArgs e)
    {
    _ServiceClient.AddDriverAsync(fnameTxtBox.Text, snameTxtBox.Text, (DateTime)BirthDate.Value, phonemobNumBox.Text, toggle1.IsChecked, toggle2.IsChecked, toggle3.IsChecked, toggle4.IsChecked, toggle5.IsChecked, toggle6.IsChecked, toggle7.IsChecked, toggle8.IsChecked, toggle9.IsChecked, toggle10.IsChecked, toggle11.IsChecked, toggle12.IsChecked, toggle13.IsChecked, toggle14.IsChecked, toggle15.IsChecked, ownerTextBox.????);
    }

即更换???? 以正确的结尾,或重新格式化该部分以使其正常工作。

4

2 回答 2

1

您需要在客户端上执行验证,以确保永远不会向您的服务发送无效值。您可以通过检查该值是否为整数来做到这一点,如果不是则显示一条消息。仅当满足验证条件时才将数据发送到您的服务。

public void OnButtonClick(object sender, EventArgs e) {
    int value;

    bool isValid = int.TryParse(textBox.Text, out value);

    if (isValid) {
        // send to WCF
    }
    else {
        // display a message
    }
}
于 2012-04-23T10:17:03.667 回答
0

您将需要使用 int 类解析值,例如

int.Parse(myTextBox.Text)

请注意,int.Parse如果值不能表示为整数,则会引发异常,因此您可能需要执行适当的验证或异常处理。查看TryParse方法系列。

您可能会发现阅读Casting、Type Conversion 和 Parsing很有用。

使用您发布的源代码,您可以将其更改为:

private void addAccountBtn_Click(object sender, RoutedEventArgs e)
{
    _ServiceClient.AddDriverAsync(
        fnameTxtBox.Text, <snip_lots_of_arguments>, 
        toggle15.IsChecked, 
        int.Parse(ownerTextBox.Text)); //I've only changed the very last bit here
}
于 2012-04-23T10:17:07.997 回答