我有2个HtmlSelect控件,我需要根据第一个HtmlSelect的选定索引加载第二个。但它不起作用,因为HtmlSelect没有选择索引更改事件。我需要做什么?有什么想法吗?
实施例
<!--These are my Html Select controls-->
select runat="server" id="drpCity"></select>
<select runat="server" id="drpState">/select>
protected void Page_Load(object sender, EventArgs e)
{
FillCities(drpCity);
FillStates(drpState, drpCity.SelectedValue);
}
public void FillCitiesHtmlSelect(HtmlSelect drpCity)
{
BusCity busCity = new BusCity();
List<EntCity> lentCity = busCity.SearchAll();
drpCity.DataValueField = EntCity.Columns.CITYCODE;
drpCity.DataTextField = EntCity.Columns.CITYNAME;
drpCity.DataSource = lentCity;
drpCity.DataBind();
drpCity.Items.Insert(0, new ListItem("City", string.Empty));
}
public void FillStatesHtmlSelect(HtmlSelect drpState, string cityCode)
{
if (!string.IsNullOrEmpty(cityCode))
{
BusState busState = new BusState();
List<EntState> lentEmsState = busState.Search(cityCode);
drpState.DataValueField = EntState.Columns.STATECODE;
drpState.DataTextField = EntState.Columns.STATENAME;
drpState.DataSource = lentState;
drpState.DataBind();
}
else
{
drpState.Items.Clear();
}
drpState.Items.Insert(0, "State", string.Empty));
}
答案 0 :(得分:0)
我可以建议一种方法,但我没有实现它。如果您可以从一个选择控件调用javascript函数来检查非默认值,如果条件满足,则加载第二个选择html。
答案 1 :(得分:0)
Html选择控件没有'selectedindexchanged'事件,而是它有客户端事件'onchange'。你也不能从html select控件调用服务器端。要在c#代码页(服务器端)中调用函数你需要使用webservice.define你的c#函数作为webmethord并使用html选择控件的'onchange'事件中的webservice调用函数。