C# 数据ajax更新在dotnet core jquery中不起作用不引人注目的ajax

C# 数据ajax更新在dotnet core jquery中不起作用不引人注目的ajax,c#,jquery,ajax,asp.net-core,C#,Jquery,Ajax,Asp.net Core,我想用部分视图中的ajax数据更新容器中的数据,但是页面只是重新加载而没有错误,并且不更新数据。请帮我提建议 这是我的控制器代码 public class HomeController : Controller { public ActionResult OnGetPartial() { return PartialView(); } } 这是我的部分视图代码 <p>Hello from the Hello World partial at @

我想用部分视图中的ajax数据更新容器中的数据,但是页面只是重新加载而没有错误,并且不更新数据。请帮我提建议

这是我的控制器代码

public class HomeController : Controller
{
   public ActionResult OnGetPartial()
    {
        return PartialView();
    }
}
这是我的部分视图代码

<p>Hello from the Hello World partial at @DateTime.Now</p>
来自Hello World部分的Hello,地址为@DateTime.Now

这是我的索引和布局代码。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - IntegTest</title>              
    <link rel="stylesheet" href="~/css/site.css" />
</head>
<body>
            @RenderBody()       
        <script src="~/lib/jquery/dist/jquery.js"></script>              
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
                asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
                asp-fallback-test="window.jQuery"
                crossorigin="anonymous"
                integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
        </script>                 
    <script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
    <script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
    <script src="~/lib/jquery-validation/dist/additional-methods.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>    
    @RenderSection("Scripts", required: false)
</body>
</html>

@ViewData[“标题”]-整型测试
@RenderBody()
@RenderSection(“脚本”,必需:false)
索引

<a href="" data-ajax="true" data-ajax-url="@Url.Action("OnGetPartial","Home")" data-ajax-update="#panel" data-ajax-complete="completed" data-ajax-failure="failed">Click Here!</a>
<div id="panel">        
</div>
<script>
    completed = function (xhr) {
        alert('hi ${xhr.responseText}!');
    }
    failed = function (xhr) {
        alert('Status: { xhr.status }, Status Text: { xhr.statusText}');
    }
</script>

已完成=功能(xhr){
警报('hi${xhr.responseText}!');
}
失败=函数(xhr){
警报('Status:{xhr.Status},Status Text:{xhr.statusText}');
}

您需要使用jQuery低调的AJAX库,它可以在Github中找到:

您可以从上面的链接(在src文件夹中)下载该文件,或者从VS中的Nuget安装它。然后,您需要在_布局页面中链接该文件:

<script src="~/lib/jquery-validation-unobtrusive/jquery.unobtrusive-ajax.js"></script>


在这之后,您的代码应该运行良好。此外,应确保已设置正确的局部视图名称。如果您使用的是Razor页面,您可以参考详细的代码示例。

哦,我的天啊,我花了2天时间阅读了所有关于此库的文章,只是没有插入它。。。我检查了我的代码200次。。。我非常讨厌自己,以至于我想把头撞在墙上。非常感谢你,非常善良的人,我非常感谢你的回答,祝你长寿。谢谢