首先,我们创建一个MVC项目

使用Ajax局部更新Razor页面(图文教程)

让我们创建一个简单的Controller Book

使用Ajax局部更新Razor页面(图文教程)

然后对其添加一个视图,并且添加上一些简单的Html代码

@{ ViewBag.Title = "Index"; Layout = null; } <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <h2>Index</h2> @Html.ActionLink("点击我", "Part","Book"); <p id="partial" ></p> @Scripts.Render("~/bundles/jquery") <script type="text/javascript"> $("a").click(function () { $.ajax({ url: "/Test/Book/Part/1", success: function (result) { console.log(result); $("#partial").html(result); }, error: function (msg) { console.log(msg); } }) return false; }); </script> </body> </html>

这里我添加了一个<p>,并且给了个id="partial",再我点击@Html.ActionLink时会触发javascript里的方法,使用ajax去访问/Test/Book/Part/1这个路径,请求成功以后会在<p>里构建我请求的Html,这其实就是局部刷新的原理

使用Ajax局部更新Razor页面(图文教程)

这是Part的代码,然后我们给Part也添加一个视图

使用Ajax局部更新Razor页面(图文教程)

Part的代码可以非常简单,然后我们开启我们的项目

使用Ajax局部更新Razor页面(图文教程)

我们不断点击 按钮“点击我”

使用Ajax局部更新Razor页面(图文教程)

页面就会不停的发生变化。

这里需要注意,在使用AJAX请求时,Url一定要写完整,比如我的Controller在Area下的Book文件夹下名为Test,Action为Part,那么Url则是 /Test/Book/Part,不能缺少/Test,否则就会出现以下错误

使用Ajax局部更新Razor页面(图文教程)

可以看到,如果Url没有写全的话,Action返回的View其实是错误的路径。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Struts2和Ajax数据交互(图文教程)

利用ajax提交form表单到数据库详解(无刷新)

原生ajax写的上拉加载实例(图文教程)