2010-01-19 2 views
3

У меня есть функция JavaScript, которую я вызываю в обработчике onchange выпадающего списка. Если выбранное значение dropdownlist равно «1», я хочу вызвать одну функцию в codebehind. Ниже приводится функция в JavaScript:Как я могу вызвать функцию codebehind из JavaScript?

function GetAdmissionType() 
    { 
     InitComponents(); 
     var type=""; 
     type=document.getElementById(dlAdmissionType.id).value; 
     document.getElementById(hdnAdmissionType.id).value=document.getElementById(dlAdmissionType.id).value; 
     if(type=="1") 
     { 
     } 
    } 

Если тип 1, то я хочу работать следующий код в коде

public void LoadSemesters() 
{ 
    //code to load other dropdownlists 
} 

Может кто-нибудь помочь вызвать функцию в коде из JavaScript?

ответ

2

Самый простой способ сделать это - выставить функцию codebehind как вызов веб-службы и использовать что-то вроде jQuery, чтобы вызвать его из Javascript.

+0

есть ли какой-либо другой метод – user42348

+1

Можете ли вы привести пример или дать нам ссылку? –

0
+0

Почему бы не перейти непосредственно к статье, а не в блог с объявлениями? –

+0

Мне жаль, что я просто сделал это, потому что я сохранил ссылку на свой собственный блог, и мне было легче искать собственный блог в автономном режиме (я использую Windows live writer) вместо фактического блога. – ria

2

Это может зависеть от того, что вы хотите сделать с другими значениями в раскрывающемся списке. Но самый простой способ сделать это - обернуть свой раскрывающийся список на панели обновлений и обработать событие OnSelectedIndexChanged в коде.

ASPX страница:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged"> 
       <asp:ListItem Value="1">item 1</asp:ListItem> 
       <asp:ListItem Value="2">item 2</asp:ListItem> 
       <asp:ListItem Value="3">item 3</asp:ListItem> 
       <asp:ListItem Value="4">item 4</asp:ListItem> 
      </asp:DropDownList> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

код позади:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    switch (DropDownList1.SelectedValue) 
    { 
     case "1": 
      LoadSemesters(); 
      break; 
     case "2": 
     case "3": 
     case "4": 
     default: 
      // do something 
      break; 
    } 
} 

Тогда вам не нужно будет делать какую-либо яваскрипт обработки (если вы не хотели).

Смежные вопросы