0

我有 2 个 HtmlSelect 控件,我需要根据第一个 HtmlSelect 的选定索引加载第二个。但它不起作用,因为 HtmlSelect 没有 selectedindexchanged 事件。我需要做什么?任何想法?

例子;

<!--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));
   }
4

2 回答 2

0

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

于 2012-11-28T10:39:04.333 回答
0

Html 选择控件没有“selectedindexchanged”事件,而是有客户端事件“onchange”。此外,您不能从 html 选择控件调用服务器端。要调用在 c# 代码页(服务器端)中编写的函数,您需要使用 webservice . 将您的 c# 函数定义为 webmethord 并在 html 选择控件的“onchange”事件中使用 web 服务调用函数。

于 2012-12-01T10:42:33.880 回答