我有一个JavaScript函数,我在下拉列表的onchange处理程序中调用它。如果下拉列表的选定值为“1”,我想在代码隐藏中调用一个函数。 以下是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")
{
}
}
如果type为1,那么我想在codebehind
中使用代码public void LoadSemesters()
{
//code to load other dropdownlists
}
有人可以帮助从JavaScript调用代码隐藏功能吗?
答案 0 :(得分:2)
最简单的方法是将函数后面的代码公开为Web服务调用,并使用类似jQuery的方法从Javascript中调用它。
答案 1 :(得分: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;
}
}
然后你不需要做任何javascript处理(除非你想)。
答案 2 :(得分:0)