我有一個數據列表,其中包含兩個dropdownCountry在datalistCity和一個按鈕來動態添加dropdownCountry和datalistCity我想填充dropdowncity上DropdownCountry的selectedIndex變化碼低於如何將字符串轉換爲下拉控件或找到控件datalist與control.client id已知asp.net
ASPX代碼
<asp:DropDownList ID="DDSubOffCity" OnSelectedIndexChanged='GetSelectedCityValue' AutoPostBack="false" runat="server" Width="355px"> <asp:ListItem Value="0">Select</asp:ListItem> </asp:DropDownList>
<asp:DropDownList ID="DDSubOffCountry" runat="server" OnSelectedIndexChanged='GetSelectedCountryValue' AutoPostBack="true" Width="355px"> <asp:ListItem Value="0">Select</asp:ListItem> </asp:DropDownList>
後面數據列表代碼itembound
DDSubOffCountry.Attributes.Add("onChange", "javascript:NewBufferDDCountryValue('" + DDSubOffCountry.ClientID + "','" + DDSubOffCountry.SelectedValue + "');");
DDSubOffCity.Attributes.Add("onChange", "javascript:NewBufferDDCityValue('" + DDSubOffCity.ClientID + "', '" + DDSubOffCity.SelectedValue + "');");}
JavaScript代碼
function NewBufferDDCountryValue(objddCountry)
{
try {
if (objddCountry != 'null') {
var ctlDDl = objddCountry.toString();
var parts = ctlDDl.split('_', 4);
var indexId = parts[3];
var objHidden = document.getElementById('ContentPlaceHolder1_DataListOffices_hiddenDDSubOffCountry_' + indexId);
objHidden.value = document.getElementById(objddCountry).value;
}
} catch (e) { alert(e); }
}
function NewBufferDDCityValue(objddCity)
{
try {
if (objddCity != 'null') {
var ctlDDl = objddCity.toString();
var parts = ctlDDl.split('_', 4);
var indexId = parts[3];
var objHidden = document.getElementById('ContentPlaceHolder1_DataListOffices_hiddenDDSubOffCity_' + indexId);
objHidden.value = document.getElementById(objddCity).value;
}
} catch (e) { alert(e); }
}
,這將在後面的代碼時onselectedindexchange事件發生
public void GetSelectedCountryValue(object sender, EventArgs e)
{
DropDownList drp = (DropDownList)sender;
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), " ", "javascript:NewBufferDDCountryValue('" + drp.ClientID + "');", true);
var city = new City();
string indexer = drp.ClientID;
indexer=indexer.Split(Convert.ToChar("_"))[3];
string senderCity ="ContentPlaceHolder1_DataListOffices_DDSubOffCity_" + indexer;
DropDownList drpCity;
/*****************/
如何找到一個CNTROL如果客戶端ID只知道要調用的函數。或如何將字符串轉換爲dropdownCity要填充 drpCity =的FindControl(senderCity);
/********************/
city.populateCity(drpCity, drp.SelectedValue);
}
在GetSelectedCountryValue功能,你可以看到,我有dropdownCountry 的指數現在我知道該控件的名稱,但不可能弄明白如何通過僅其客戶端Id任何幫助表示讚賞發現控制。
你的JavaScript函數並不需要兩個參數。但你傳遞兩個參數。 –