Fork me on GitHub

ASP.NET MVC Ajax.ActionLink 简单用法

ASP.NET MVC 项目中,如何使用类似于 iframe 的效果呢?或者说 Ajax 局部刷新,比如下面操作:

我们想要的效果是,点击 About 链接,页面不刷新(地址栏不变),然后下面的内容进行更新,其实实现这个效果,很简单,只需要使用 Ajax.ActionLink 即可。

1. 安装 Microsoft.jQuery.Unobtrusive.Ajax 程序包

Install-Package Microsoft.jQuery.Unobtrusive.Ajax

2. 引用 JS 文件:

@Scripts.Render("~/bundles/jquery")
<script src="/Scripts/jquery.unobtrusive-ajax.min.js"></script>

3. web.config 增加配置:

<appSettings>
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

4. 编写 Action:

public ActionResult About()
{
    ViewBag.Message = "Your application description page.";

    if (Request.IsAjaxRequest())
    {
        return PartialView();//Ajax.ActionLink
    }
    else
    {
        return View();
    }
}

5. 编写 View:

@Ajax.ActionLink("About", "About", "Home", null, new AjaxOptions { UpdateTargetId = "body-content" }, new { })
<div id="body-content">
    @RenderBody()
</div>

6. 效果:

参考资料:

posted @   田园里的蟋蟀  阅读(2178)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示