本文我们主要和大家分享详解如何使用Ajax局部更新Razor页面,Razor功能非常强大,但是本身并不能做到无刷新,所以需要配合ajax使用。本文通过一个例子给大家介绍使用Ajax局部更新Razor页面,需要的朋友参考下吧,希望能帮助到大家。

Razor功能非常强大,但是本身并不能做到无刷新,所以需要配合ajax使用

本文就做一个简单例子,实现Razor配合ajax做到局部刷新。

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

详解如何使用Ajax局部更新Razor页面-LMLPHP

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

详解如何使用Ajax局部更新Razor页面-LMLPHP

然后对其添加一个视图,并且添加上一些简单的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页面-LMLPHP

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

详解如何使用Ajax局部更新Razor页面-LMLPHP

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

详解如何使用Ajax局部更新Razor页面-LMLPHP

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

详解如何使用Ajax局部更新Razor页面-LMLPHP

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

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

详解如何使用Ajax局部更新Razor页面-LMLPHP

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

相关推荐:

有关ASP.NET Core Razor页面路由的详细介绍

JQuery ajax局部刷新实例

php页面局部刷新功能的实现方法

以上就是详解如何使用Ajax局部更新Razor页面的详细内容,更多请关注Work网其它相关文章!

09-12 02:12