下拉控制這個職位的日期我已經花了10種多染料,但沒能解決我的問題:(創建與阿賈克斯
我有它有3周的Fileds一個數據庫表位置LOCID,LOCNAME,locParent 。
我想創建一個DropDownList
含有例如國家所有的主力位置。 然後當用戶選擇一個位置(例如國家) 在該國所有城市中動態創建的下拉列表中重新加載。
此頁面必須有無限的子類別秒。 解決方案也必須在Ajax
和C#
。
下拉控制這個職位的日期我已經花了10種多染料,但沒能解決我的問題:(創建與阿賈克斯
我有它有3周的Fileds一個數據庫表位置LOCID,LOCNAME,locParent 。
我想創建一個DropDownList
含有例如國家所有的主力位置。 然後當用戶選擇一個位置(例如國家) 在該國所有城市中動態創建的下拉列表中重新加載。
此頁面必須有無限的子類別秒。 解決方案也必須在Ajax
和C#
。
,您將需要AjaxExtensions(自帶.NET 3.5)可以被添加到.NET 2.0的應用程序http://www.asp.net/ajax
這將需要一個ToolKitScriptManager頁面
放置在網頁的三個下拉列表上。將它們命名爲ddlCountry,ddlCity和ddlMainLocation。
(可選)將兩個「子」下拉列表放置在設置爲不可見的面板中。
在頁面加載時,從拉使用SqlDataBase讀者
帶着讀者數據庫中的位置信息,通過記錄迭代,並添加項目到下拉
例如
// Create a command object and set it to run a stored procedure that gets the countries from the database
SqlDataReader rdr = cmd.ExecuteQuery();
try
{
ddlCountries.items.clear();
While (rdr.read())
{
// Text to display, Common Data Item
ddlCountries.items.add(new ListItem(rdr("CountryName").toString(),rdr("CountryCode").ToString());
}
}
catch()
{
// do something with your error
}
向該ddlCountries下拉列表添加以下屬性:
(1)將在執行命令索引被更改 (2)將在更改項目時觸發回發
然後至210的ddlCountries_SelectedIndexChanged事件方法將查詢屬於被選中的國家代碼相關的城市數據庫(或使價值爲包含城市表的外鍵)
現在測試代碼,使確保回帖後會在城市列表中填入數據。在這一點上,它是一個普通的ASP.Net頁面,帶有回傳。要在標記中完成部分回發,請在下拉列表中添加一個更新面板。它看起來像下面這樣:
<asp:UpdatePanel runat="server" id="upnlDropdowns" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCountries" EventName="OnSelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<!--... Your Drop downs and any code to be Ajaxified .../-->
</ContentTemplate>
</asp:UpdatePanel>
再次測試並確保所有工作仍在進行。如果是這樣,那麼你可以添加第三個下拉菜單。這一次,它將被選中的城市下拉菜單中已更改的事件填充。
一旦它正常工作,您可以通過添加一個updateprogress來添加哇因子,它擴展了updatePanel以顯示工作映像。
祝你好運!
如果這沒有意義,請添加評論,我會嘗試進一步解釋 – Feuerwehrmann
謝謝Feuerwehrmann 但我想在後面的代碼中動態創建下拉列表。 我不想僅限於3個dropdwon列表。 – Mutken
確實使用'Ajax.Net'? –