Javascript 使用ajax和css下拉列表

Javascript 使用ajax和css下拉列表,javascript,jquery,css,ajax,Javascript,Jquery,Css,Ajax,我用@Ajax.ActinLink制作了一个列表并使其超链接,这样一按,嵌套列表就可以用局部视图打开。当我单击第一个列表选项时,会显示部分视图,但当我单击第二个列表选项时,部分视图不会打开。这是我的代码: <ul id="menu"> <h3>Categories</h3> @foreach (company company in @Model) { <li

我用@Ajax.ActinLink制作了一个列表并使其超链接,这样一按,嵌套列表就可以用局部视图打开。当我单击第一个列表选项时,会显示部分视图,但当我单击第二个列表选项时,部分视图不会打开。这是我的代码:

<ul id="menu">
           <h3>Categories</h3>
            @foreach (company company in @Model)
            {
              <li>
                   @Ajax.ActionLink(company.COMPANY_NAME, "All", new AjaxOptions()
                   {
                      HttpMethod = "GET",
                      UpdateTargetId = "yr",
                      InsertionMode = InsertionMode.Replace
                   })
                <ul class="sub-menu">
                    <li id="yr"></li>
                </ul>
              </li>  
            }
</ul>
    类别 @foreach(模型中的公司) {
  • @ActionLink(company.company_名称,“All”,新的AjaxOptions() { HttpMethod=“GET”, UpdateTargetId=“yr”, InsertionMode=InsertionMode.Replace })
  • }
我看到您使用的是C#razor语法,我将推断您使用的是某种形式的ASP.NET,并以这种方式创建应用程序。它们是比使用AJAX更好的调用方法。AJAX已经过时,并且不是使用C#razor语法时使用的最佳实现。我将使用JS或angularJS向您的控制器发出HTTP GET请求调用。请看下面这个使用HTTP GET请求在网页中加载注释的示例

    <script type="text/javascript">

    // Http GET Request to load the comments at each page refresh.
    var app = angular.module('myArticleViewer', []);
    app.controller('myArticleController', function ($scope, $http, $timeout) {
        try {
            $http({
                method: "GET",
                url: "/Documentation/Comments/@Model.ArticlesViewModelID"
            }).then(function mySucces(response) {

                $scope.data = response.data;
            });
        } catch (e) {
            alert("Error: Bad Request");
        }


    });
    </script>

//Http GET请求在每次页面刷新时加载注释。
var app=angular.module('myArticleViewer',[]);
app.controller('myArticleController',函数($scope,$http,$timeout){
试一试{
$http({
方法:“获取”,
url:“/Documentation/Comments//@Model.ArticlesViewModelID”
}).然后(函数mySucces(响应){
$scope.data=response.data;
});
}捕获(e){
警报(“错误:错误请求”);
}
});

您将向负责页面的相应控制器中的控制器操作发出HTTP GET请求。然后,您将返回一个超链接URL列表,作为向其发出HTTP GET请求的控制器操作的值。然后,使用angularJS和NgDirections,您将为下拉框编写HTML代码,并遍历angularJS HTTP GET请求调用返回的数据。这将为您提供您所寻求的结果

为问题添加blade标记,您不需要为blade文件执行
{}
@foreach
@endforeach
就是你要做的。