Javascript 使用ajax和css下拉列表
我用@Ajax.ActinLink制作了一个列表并使其超链接,这样一按,嵌套列表就可以用局部视图打开。当我单击第一个列表选项时,会显示部分视图,但当我单击第二个列表选项时,部分视图不会打开。这是我的代码: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
<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
就是你要做的。