簡體   English   中英

(動態數據,ASP.Net,C#,下拉列表自定義.ascx控件)如何在下拉列表之間傳遞值?

[英](Dynamic Data, ASP.Net, C#, dropdownlists custom .ascx controls ) HOW TO PASS VALUES AMONG DROPDOWNLISTS?

我正在使用ASP.Net動態數據,Visual Studio 2010和C#。

我有三個擴展名為.ascx的自定義控件(FieldTemplates): business_type.ascxdepartment.ascxsection.ascx

如果我從第一個組合框中選擇cod_business type,其中= 6,我只想顯示那些cod_business = 6的部門

可以說我有500個部門,但是只有5個,128個和446個部門可以完成該規則。

假設我有2500個部分:

  1. 40、66和222的cod_dept = 5和cod_business = 6
  2. 346、399、400、403和458的cod_dept = 128和cod_business = 6
  3. 14,45,333 a,d 335的cod_dept = 446和cod_business = 6

我還希望在第三個組合框中僅顯示cod_business = 6且cod_dept = 5或128或446的部分,具體取決於我是從部門組合框中選擇的哪個部分

切記:這必須在ASP.Net 4.0動態數據上有效

這可以實現嗎?

我見過Steve Naughton的Cascading解決方案,但它們是面向數據庫的。

我需要“以其更固有的形式連接”下拉列表,這意味着我沒有實體來填充每個下拉列表,而是每個下拉列表中包含的值列表本身。 我通常從小型Excel電子表格或小型文本文件中提供這些值。

最好的祝福。

您最初是如何填充下拉菜單的值的? 它們是數據綁定控件嗎?

無論如何,您將需要一種與回發中的這3個控件進行交互的方法,以實現過濾。 一種方法是將DropDownList公開為用戶控件上的屬性。 在后面的代碼中,您將添加類似於以下的屬性:

public DrowDownList List {
get { return this.DropDownInsideTheControl; }
set { this.DropDownInsideTheControl = value; } }

將適當的事件處理程序添加到OnSelectedIndexChanged事件,並將AutoPostBack設置為true ,您應該一切順利。 然后,頁面上將包含您可以管理所需過濾的所有控件。

這種方法行得通,但是我認為將3個下拉菜單分成單獨的用戶控件會使您的生活更加艱難。 這3個控件是如此緊密相關,將它們全部包含在同一用戶控件中可能是有意義的。 這樣,您可以更直接地與他們互動,並更輕松地管理他們的聯系。 您仍然可以將列表顯示給控件在其中運行的Page ,如上所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM