簡體   English   中英

ASP.NET頁面中依賴Java的DropDownLists

[英]Javascript Dependent DropDownLists in an ASP.NET page

我有一個.NET注冊表單,該表單填充了數據庫中的某些DDL,並進行了其他硬編碼。 該要求需要一系列三個從屬DDL:一個用於組織,兩個用於職位。 根據所選擇的組織,某些職位可能具有如下子選擇:

DDL1    DDL2    DDL3
A       a       n/a
B       a       c
C       b       n/a

在某些情況下,DDL2中的相同選擇將需要從DDL3中進行選擇。 在某些情況下,從DDL2中進行選擇就足夠了。 例如,如果從DDL1中選擇醫院,則DDL 2將包含醫師,DDL3將包含兒科醫生,而我需要提交DDL1和DDL3中的值。 但是,如果DDL1是Lab,那么DDL2的醫師選擇就足夠了,我將提交DDL1和DDL2。 我有一個javascript文件,可以很好地處理所有選擇,但是由於回發問題,我無法將值發送到數據庫。

我已經嘗試了多個修復程序,包括UpdatePanels和Triggers,但我不太正確。

我發現了這一點,看起來幾乎可以完全滿足我的需求。 仍在調整以使其正常工作。

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>

這是獲取城市名稱以填充DDL的C#:

        /// <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表單,因為那是我需要提交給數據庫的值?

您可以使用循環。

if(DDL1.SelectedValue.Equals("") || (DDL2.SelectedValue.Equals(""))
{
//your message
}
else if (DDL1.SelectedValue.Equals("") || (DDL3.SelectedValue.Equals(""))
{
//your message
}

... 等等。

只需在其中添加一些代碼即可滿足您的需求。 如果您需要滿足兩個條件,也可以使用“ &&”。

希望這可以幫到你。

暫無
暫無

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

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