我在后台写了一个方法: 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() %>"; 又没有问题。

解决方案 »

  1.   

    如果不带参数var list = " <%=GetList() %>"; 又没有问题。
    ------------------
    改成var list = " <%GetList() %>"; 
      

  2.   


    var list = '<%=GetList('"+ list1Value +"') %>';
      

  3.   

    我改成 var list = "<%=GetList('" + list1Value) + "') %>";
    这样也还是报同样的错
      

  4.   

    js不能直接调用,需要把方法写在.ashx文件中,调用
      

  5.   

    因为如果我硬编码一个值,写成var list = "<%=GetList(0)%>";这样又可以
      

  6.   

    试试
    var list = " <%=GetList(ddlList1.SelectedValue)%>";
      

  7.   


    var list ;
    if(list1Value==0)
    {
    list = "  <%=GetList(0)%>";
    }
    else
    {
    list = "  <%=GetList(1)%>";
    }汗。