2016-09-19 70 views
-1

我在寫一個asp.net應用程序,我試圖根據輸入的搜索詞填充下拉列表。從aspx代碼頁將值傳遞給一個類

我需要一種方法將搜索詞發送到我用作數據源的列表中。

這是aspx.cs頁面上我LoadFilteredDropdown功能:

protected void LoadFilteredDropdown(string term) 
{ 
    // send term to Services.StaticLists.Master.CLI.Active_Filtered_List here 
    ddlClientFiltered.Items.Clear(); 
    ddlClientFiltered.Items.Add(new ListItem("- Select", "0")); 
    ddlClientFiltered.AppendDataBoundItems = true; 
    ddlClientFiltered.DataSource = Services.StaticLists.Master.CLI.Active_Filtered_List; 
    ddlClientFiltered.DataBind(); 
    ddlClientFiltered.SelectedIndex = 0; 
} 

這裏是從CLI.cs頁面Active_Filtered_List代碼:

private static List<DefaultDesc_List> cli_Active_Filtered_List = null; 
public static List<DefaultDesc_List> Active_Filtered_List 
{ 
    get 
    { 
     var db = new Entities(); 
     string term = ""; // receive the term here 
     var results = (from cli in db.CDC_M_Client_CLI 
         where cli.CLI_Active == true && 
         cli.CLI_Name.StartsWith(term) 
         orderby cli.CLI_Name 
         select new 
         { 
          cli.CLI_Id, 
          cli.CLI_Name, 
          cli.CLI_Active 
         }).ToList(); 
     cli_Active_Filtered_List = new List<DefaultDesc_List>(); 
     foreach (var result in results) 
     { 
      if(result.CLI_Active) 
      { 
       cli_Active_Filtered_List.Add(new DefaultDesc_List() 
       { 
        Id = result.CLI_Id, 
        Desc = result.CLI_Name 
       }); 
      } 
     } 

     return cli_Active_Filtered_List; 
    } 
} 

正如你可以在評論見,那就是我想從中發送價值的地方以及將它發送到的目的地,我將如何實現該目標?

編輯: 不知道這是否有助於但這裏的DefaultDesc_List類:

public class DefaultDesc_List 
{ 
    public int Id { get; set; } 
    public string Desc { get; set; } 

    public virtual ICollection<DefaultDesc_List> DefaultDesc_Lists { get; set; } 
} 

回答

1

只是通過長期作爲參數:

protected void LoadFilteredDropdown(string term) 
{ 
// send term to Services.StaticLists.Master.CLI.Active_Filtered_List here 
ddlClientFiltered.Items.Clear(); 
ddlClientFiltered.Items.Add(new ListItem("- Select", "0")); 
ddlClientFiltered.AppendDataBoundItems = true; 
ddlClientFiltered.DataSource = Services.StaticLists.Master.CLI.Active_Filtered_List(term); 
ddlClientFiltered.DataBind(); 
ddlClientFiltered.SelectedIndex = 0; 
} 


    private static List<DefaultDesc_List> cli_Active_Filtered_List = null; 
public static List<DefaultDesc_List> Active_Filtered_List(string term) 
{ 
     var db = new Entities(); 
    string term = ""; // receive the term here 
    var results = (from cli in db.CDC_M_Client_CLI 
        where cli.CLI_Active == true && 
        cli.CLI_Name.StartsWith(term) 
        orderby cli.CLI_Name 
        select new 
        { 
         cli.CLI_Id, 
         cli.CLI_Name, 
         cli.CLI_Active 
        }).ToList(); 
    cli_Active_Filtered_List = new List<DefaultDesc_List>(); 
    foreach (var result in results) 
    { 
     if(result.CLI_Active) 
     { 
      cli_Active_Filtered_List.Add(new DefaultDesc_List() 
      { 
       Id = result.CLI_Id, 
       Desc = result.CLI_Name 
      }); 
     } 
    } 

    return cli_Active_Filtered_List; 
    } 
+0

這樣稱呼它的功能。當我做到這一點:「這個名字‘得到’沒有在目前情況下存在」 –

+0

我錯過了你有這樣的屬性。把它改成一個函數 - 取出get; –

+0

謝謝,解決了它:) –

0

打開Active_Filtered_List的功能,並採取參數爲term

public static List<DefaultDesc_List> Active_Filtered_List(string term) 
{ 
    ...  
} 

從你LoadFilteredDropdown功能

protected void LoadFilteredDropdown(string term) 
{ 
    // send term to Services.StaticLists.Master.CLI.Active_Filtered_List here 
    ddlClientFiltered.Items.Clear(); 
    ddlClientFiltered.Items.Add(new ListItem("- Select", "0")); 
    ddlClientFiltered.AppendDataBoundItems = true; 
    ddlClientFiltered.DataSource 
     = Services.StaticLists.Master.CLI.Active_Filtered_List(term); // <-- here 
    ddlClientFiltered.DataBind(); 
    ddlClientFiltered.SelectedIndex = 0; 
} 
+0

當我這樣做:「名稱'get'在當前上下文中不存在」 –

相關問題