2012-11-28 87 views
0

我有2個HtmlSelect控件,我需要根據第一個HtmlSelect的選定索引加載第二個。但它不起作用,因爲HtmlSelect不具有selectedindexchanged事件。我需要做什麼?任何想法?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

我可以建議一種方法,但我沒有實現它。如果您可以從一個選擇控件調用一個javascript函數來檢查非默認值,並且條件滿足,請加載第二個選擇html。

+0

謝謝你的回答,但我不擅長JavaScript。如果你有一個實用的代碼,那麼我可以應用它。我只是爲了這個,但沒有找到相關的例子。 – yunus

0

Html選擇控件沒有'selectedindexchanged'事件,而是它有客戶端事件'onchange'。您也無法從html選擇控件調用服務器端。要調用在c#代碼頁(serverside)內部寫入的函數,您需要使用webservice.define你的c#函數作爲webmethord,並在html選擇控件的'onchange'事件中使用webservice調用函數。