You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AjaxExtensions时遇RouteValueDictionary未找到错误(ASP.NET MVC+C#)

解决ASP.NET MVC中RouteValueDictionary找不到及Ajax功能失效问题

一、RouteValueDictionary 找不到的解决方法

  • 确认命名空间:RouteValueDictionary实际定义在System.Web.Routing(.NET Framework)或Microsoft.AspNetCore.Routing(.NET Core/.NET 5+)命名空间,而非直接在System.Web下。在代码顶部添加对应引用:
    // .NET Framework
    using System.Web.Routing;
    
    // .NET Core/.NET 5+
    using Microsoft.AspNetCore.Routing;
    
  • 添加程序集/包引用:
    • .NET Framework:右键项目 → 「添加引用」 → 找到System.Web.Routing程序集并添加。
    • .NET Core/.NET 5+:通过NuGet安装Microsoft.AspNetCore.Routing包。
  • 检查版本兼容性:确保项目使用的.NET版本与MVC版本匹配(MVC 3及以上版本才包含RouteValueDictionary)。

二、Ajax功能无法运行、VS无法识别的解决方法

  • 引入必要JS库:ASP.NET MVC的Ajax功能依赖jQuery和jQuery Unobtrusive Ajax,在视图页面的<head>或底部添加引用:
    <script src="~/Scripts/jquery.min.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    
    注意路径需与项目中脚本文件的实际位置一致,NuGet包安装后默认路径为上述示例。
  • 启用Unobtrusive JavaScript:
    • .NET Framework(Web.config):
      <appSettings>
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
      </appSettings>
      
    • .NET Core(appsettings.json):
      "Mvc": {
        "EnableUnobtrusiveJavaScript": true
      }
      
  • 安装对应NuGet包:
    • .NET Framework:安装Microsoft.jQuery.Unobtrusive.Ajax包。
    • .NET Core:安装Microsoft.AspNetCore.Mvc.JQuery.Unobtrusive.Ajax包。
  • 修复VS智能提示:若Visual Studio无法识别Ajax相关代码,可尝试清理解决方案(「生成」→「清理解决方案」)后重建项目;或删除.vs文件夹后重启VS。

内容的提问来源于stack exchange,提问作者Akash A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 17:42:48