c#if else语句

Com*_*irl 1 c# asp.net if-statement

我有一个问题,因为我的编码不起作用(错误),我不知道如何纠正它.你们可以检查一下这句话是对还是错?我的条件是1)如果textbox productname为null或为空且未选择dropdownlist1,则text将为null.2)如果文本框产品名称已填充(字符串),则文本将填入3)如果textbox productname为null或为空且选择了dropdownlist1,则文本将选择值.请参考粗体文字.高兴!!

if (String.IsNullOrEmpty(txtSearchProductname.Text) == true)
    {
        if (**DropDownList1.SelectedValue.ToString == null**)
        {
            txtSearchProductname.Text = " ";
        }
        else 
        {
            SqlProductmaster.InsertParameters["ProductName"].DefaultValue = DropDownList1.SelectedValue.ToString();
        }                
     }
    else 
    {
        SqlProductmaster.InsertParameters["ProductName"].DefaultValue = txtProductName.Text.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

Ada*_*son 6

两个问题:

  1. 你有ToString,不是ToString().ToString指功能本身; 你需要括号来调用方法
  2. 您根本不应该打电话ToString(),因为该值可能为空; 这会产生一个NullReferenceException.只是检查一下DropDownList1.SelectedValue == null.

这应该是你所需要的:

if (String.IsNullOrEmpty(txtSearchProductname.Text))
{
    if (DropDownList1.SelectedValue == null)
    {
        txtSearchProductname.Text = " ";
    }
    else 
    {
        SqlProductmaster.InsertParameters["ProductName"].DefaultValue = DropDownList1.SelectedValue;
    }                
 }
else 
{
    SqlProductmaster.InsertParameters["ProductName"].DefaultValue = txtProductName.Text;
}
Run Code Online (Sandbox Code Playgroud)