Htmlselect选择了索引更改事件

时间:2012-11-28 10:11:08

标签: c# asp.net html drop-down-menu html-select

我有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));
   }

2 个答案:

答案 0 :(得分:0)

我可以建议一种方法,但我没有实现它。如果您可以从一个选择控件调用javascript函数来检查非默认值,如果条件满足,则加载第二个选择html。

答案 1 :(得分:0)

Html选择控件没有'selectedindexchanged'事件,而是它有客户端事件'onchange'。你也不能从html select控件调用服务器端。要在c#代码页(服务器端)中调用函数你需要使用webservice.define你的c#函数作为webmethord并使用html选择控件的'onchange'事件中的webservice调用函数。