繁体   English   中英

获取单选按钮值

[英]Get radio button value

我试图从Windows存储应用程序窗体中获取单选按钮值,但是它显示如下错误,并且我使用Visual Studio 2013和XAML。

private void addButton_Click(object sender, RoutedEventArgs e)
{
  try
  {
    string gender = null;
    if (maleRadioButton.IsChecked || femaleRadioButton.IsChecked)
    {
      gender = maleRadioButton.Checked ? "Male" : "Female";
    }

    string Query = @"INSERT INTO `bcasdb`.`tbl_student`
                   (`reg_id`,
                   `std_fname`,
                   `std_lname`,
                   `tbl_batch_batch_id`,
                   `gender`) 
                   VALUES (@regId, @fName, @lName, @bID, @gender)";

    //This is command class which will handle the query and connection object.
    MySqlConnection conn = new MySqlConnection(BCASApp.DataModel.DB_CON.connection);
    MySqlCommand cmd = new MySqlCommand(Query, conn);
    conn.Open();
    cmd.Parameters.AddWithValue("@regId", this.regIDInput.Text);
    cmd.Parameters.AddWithValue("@fName", this.fnameInput.Text);
    cmd.Parameters.AddWithValue("@lName", this.lnameInput.Text);
    cmd.Parameters.AddWithValue("@bID", this.batchIDInput.Text);
    cmd.Parameters.AddWithValue("@gender",this.maleRadioButton);
    cmd.ExecuteNonQuery();
    conn.Close();
    successmsgBox();
  }
  catch (Exception)
  {
    errormsgBox();
  }
}

这部分有错误

string gender = null;
if (maleRadioButton.IsChecked || femaleRadioButton.IsChecked)
{
  gender = maleRadioButton.Checked ? "Male" : "Female";
}

RadioButton.IsChecked属性不是[bool],其类型是[bool?]。

因此,您不能仅使用if语句。

您可以为单选按钮的选中标志设置特定的布尔变量。

bool isMale = false;
bool isFemale = false;

接着,

private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
   isMale = sender == maleRadioButton;
   isFemale = sender == femaleRadioButton;
}

当然, maleRadioButtonfemaleRadioButton已经检查了事件处理程序。
喜欢,

<RadioButton x:Name="maleRadioButton" checked="RadioButton_Checked" />
<RadioButton x:Name="femaleRadioButton" checked="RadioButton_Checked" />

然后,您可以使用以下方法。

string gender = null;
if (isMale || isFemale)
{
  gender = isMale ? "Male" : "Female";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM