使用if语句

时间:2015-12-03 11:47:12

标签: c# asp.net ajax

我正在使用ASP.NET AJAX控件和工具包在.aspx页面中自动填充TextBoxTextBox用作与下拉列表相关的搜索字段。现在,我只希望自动填充显示何时选择下拉列表中的某个类别。

对于自动填充,我有这段代码

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string[] DepartmentAuto(string prefixText, int count)
{

        string[] _strArray = {  "Factory Management", "Housekeeping", "HR", "Industry Development"}

        return _strArray;


}

我的下拉列表/文本框就像这样

void Filter()
{
    if (DropDownList1.SelectedValue.ToString() == "Title")
    {

        ObjectDataSource1.FilterExpression = "Title LIKE '%" + TextBox1.Text + "%' ";

    }
    else if (DropDownList1.SelectedValue.ToString() == "Department")
    {

        ObjectDataSource1.FilterExpression = "Department LIKE '%" + TextBox1.Text + "%' ";

    }
}

我尝试将if语句添加到我的自动完成代码中,如此

 [System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string[] DepartmentAuto(string prefixText, int count)
{
    if (DropDownList1.SelectedValue.ToString() == "Department")
    {
         string[] _strArray = {  "Factory Management", "Housekeeping", "HR", "Industry Development"}

        return _strArray;


    }

}

然后我得到两个错误 -

  

DepartmenAuto:并非所有代码路径都返回值

     

非静态字段,方法或属性“DropdownList1”

需要对象引用

我可以帮忙怎么做?

1 个答案:

答案 0 :(得分:0)

DepartmenAuto:并非所有代码路径都返回值

  • 这是因为您的return语句现在被if块包围,因此如果您的代码没有进入if块,编译器将无法知道返回什么。因此,要么删除之前的if条件,要么删除那些大括号外的另一个return语句。

非静态字段,方法或属性需要对象引用" DropdownList1"

  • 这是因为您无法在静态方法中使用控件。 您只能在静态内部访问静态内容。因此您必须为其他内容提供其他内容。检查下拉列表。我建议你继续检查JQuery方面。

希望这有帮助。