我在后台写了一个方法: Public Function GetList(ByVal value As String) As String
Dim strValue As String = value
Dim strReturnValue As String = ""
If strValue = 0 Then
strReturnValue = "List1,List11,List111"
Else
strReturnValue = "List2,List22,List222"
End If
Return strReturnValue
End Function然后我再前台页面里用javascript调用它:<script language="javascript" type="text/javascript">
function FillList()
{
var list1 = document.getElementById("ddlList1");
var list1Value = list1.options[list1.selectedIndex].value;
alert(list1Value);
var list = "<%=GetList('+list1Value+') %>"; //老是报错:应为表达式。
var list2 = document.getElementById("ddlList2");
var tmp = list.split(',');
list2.options.length = tmp.length;
for(i=0;i<tmp.length;i++)
{
list2.options[i].value = tmp[i];
list2.options[i].text = tmp[i];
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlList1" runat="server" onChange="FillList();">
<asp:ListItem Value="0" Text="项目一"></asp:ListItem>
<asp:ListItem Value="1" Text="项目二"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlList2" runat="server">
</asp:DropDownList>
</div>
</form>
</body>
</html>如果不带参数var list = "<%=GetList() %>"; 又没有问题。
Dim strValue As String = value
Dim strReturnValue As String = ""
If strValue = 0 Then
strReturnValue = "List1,List11,List111"
Else
strReturnValue = "List2,List22,List222"
End If
Return strReturnValue
End Function然后我再前台页面里用javascript调用它:<script language="javascript" type="text/javascript">
function FillList()
{
var list1 = document.getElementById("ddlList1");
var list1Value = list1.options[list1.selectedIndex].value;
alert(list1Value);
var list = "<%=GetList('+list1Value+') %>"; //老是报错:应为表达式。
var list2 = document.getElementById("ddlList2");
var tmp = list.split(',');
list2.options.length = tmp.length;
for(i=0;i<tmp.length;i++)
{
list2.options[i].value = tmp[i];
list2.options[i].text = tmp[i];
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlList1" runat="server" onChange="FillList();">
<asp:ListItem Value="0" Text="项目一"></asp:ListItem>
<asp:ListItem Value="1" Text="项目二"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlList2" runat="server">
</asp:DropDownList>
</div>
</form>
</body>
</html>如果不带参数var list = "<%=GetList() %>"; 又没有问题。
------------------
改成var list = " <%GetList() %>";
var list = '<%=GetList('"+ list1Value +"') %>';
这样也还是报同样的错
var list = " <%=GetList(ddlList1.SelectedValue)%>";
var list ;
if(list1Value==0)
{
list = " <%=GetList(0)%>";
}
else
{
list = " <%=GetList(1)%>";
}汗。