我有一個.NET註冊表單,從數據庫中填充一些DDLs,並有其他硬編碼。該要求需要一系列三個相關的DDL:一個用於組織,另一個用於職位。依據所選組織上,一些職稱可能有子的選擇,像這樣:ASP.NET依賴DropDownLists在ASP.NET頁面
DDL1 DDL2 DDL3
A a n/a
B a c
C b n/a
在某些情況下,在DDL2同樣的選擇將需要DDL3選擇;在某些情況下,從DDL2中選擇就足夠了。例如,如果來自DDL1的選擇是醫院,DDL 2將包含醫師,並且DDL3將包含兒科醫生,並且我需要提交來自DDL1和DDL3的值。但是,如果DDL1是實驗室,DDL2的醫生選擇就足夠了,我會提交DDL1和DDL2。我有一個JavaScript文件,可以完美地處理所有選擇,但由於回發問題而無法獲取發送到數據庫的值。
我已經嘗試了幾個修復,包括UpdatePanels和觸發器,但我無法完全理解它。
我發現這個,它看起來像它完全符合我的需求。仍然在調整,以使其發揮作用。
http://code.msdn.microsoft.com/CSASPNETCascadingDropDownLi-0a3f1ecf#content
我有創建了一個簡單的XML例子:
<Countries>
<Country name="China">
<Region name="East China">
<City name="ShangHai" guid="12345"></City>
<City name="SuZhou" guid="23456"></City>
<City name="NianJing" guid="34567"></City>
<City name="QingDao" guid="45678"></City>
<City name="ZheJiang" guid="56789"></City>
</Region>
</Country>
</Countries>
這裏的C#來獲取城市名稱來填充DDL:
/// <summary>
/// Get city based on region
/// </summary>
/// <param name="strRegion">The region name</param>
/// <returns>The list contains city</returns>
public static List<string> GetCityByRegion(string strRegion)
{
XmlDocument document = new XmlDocument();
document.Load(strXmlPath);
XmlNodeList nodeList = document.SelectNodes(
"Countries/Country/Region[@name='" + strRegion + "']/City");
List<string> list = new List<string>();
foreach (XmlNode node in nodeList)
{
list.Add(node.Attributes["name"].Value);
}
return list;
}
如何獲得guid的價值到.NET形式,因爲這是我需要提交給數據庫的價值?
可以理解的是,如果你只是在.net堆棧中進行這個操作,你想使用像你說的那樣的更新面板,或者你可以編寫RESTful服務並使用JavaScript或jQuery通過AJAX調用它們 – abc123