Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用控制器方法,该方法通过Asp.net MVC视图页中的Ajax调用返回视图_Ajax_Asp.net Core_Razor_View_Response - Fatal编程技术网

调用控制器方法,该方法通过Asp.net MVC视图页中的Ajax调用返回视图

调用控制器方法,该方法通过Asp.net MVC视图页中的Ajax调用返回视图,ajax,asp.net-core,razor,view,response,Ajax,Asp.net Core,Razor,View,Response,我使用的是.Net core 2.1应用程序,内部for循环如何在不返回ajax响应的情况下触发控制器视图页面, 请参阅下面的代码 这是我的剃须刀观点 @foreach(Model.CategoryList中的变量项) { } 功能选择类别(id){ $.ajax({ 键入:“POST”, url:'@url.Action(“产品列表”、“主页”), 数据类型:“json”, 数据:{parentId:id} }); } 公共操作结果ProductsList(int parentId) { Li

我使用的是.Net core 2.1应用程序,内部for循环如何在不返回ajax响应的情况下触发控制器视图页面, 请参阅下面的代码

这是我的剃须刀观点

@foreach(Model.CategoryList中的变量项)
{
}
功能选择类别(id){
$.ajax({
键入:“POST”,
url:'@url.Action(“产品列表”、“主页”),
数据类型:“json”,
数据:{parentId:id}
});
}
公共操作结果ProductsList(int parentId)
{
List all=新列表();
如果(父ID>0)
all=\u context.pilcontegory.Where(x=>x.ParentId==ParentId).OrderBy(a=>a.ParentId.ToList();
其他的
all=_context.pilcegory.OrderBy(a=>a.ParentId.ToList();
返回视图(全部);
}
请有人帮我,萨克斯前进

如何在不返回ajax响应的情况下触发控制器视图页面

据我所知,我们无法在不返回ajax响应的情况下触发控制器视图页面。因为ajax会将请求发送到controller视图,而controller视图会将视图作为html响应返回给ajax

如果我们不处理响应,这意味着当前页面将不会更改

如果您只想将parentId传递给ProductsList方法,我建议您可以尝试使用
window.location
,这将使此页面重定向到ProductsList视图,从而刷新整个页面

注意:如果我们使用ajax调用ProductsList,整个页面将不会刷新。如果我们使用
window.location
,它将重定向到另一个页面或刷新整个页面

有关如何实现这一点的更多详细信息,您可以参考以下代码:

@section Scripts{
    <script>
        function SelectCategory(id) {
            location.href = "/Home/ProductsList?parentId=" + id;
        }
    </script>
}
@节脚本{
功能选择类别(id){
location.href=“/Home/ProductsList?parentId=“+id;
}
}
如果您想使用ajax来实现这一点,我建议您可以尝试使用ajax成功方法来处理响应。通常,我们将在controller方法中返回部分视图,然后可以使用jquery将其添加到html页面中,而无需刷新页面

有关如何实现这一点的更多详细信息,您可以参考此

@section Scripts{
    <script>
        function SelectCategory(id) {
            location.href = "/Home/ProductsList?parentId=" + id;
        }
    </script>
}