ASP.NET MVC:对操作强制执行 AJAX 请求

2023-11-25

我正在寻找一种方法来强制只能通过 AJAX 请求访问控制器的操作。

在调用操作方法之前执行此操作的最佳方法是什么?我想从我的操作方法中重构以下内容:

if(Request.IsAjaxRequest())
    // Do something
else
    // return an error of some sort

我所设想的是ActionMethodSelectorAttribute可以像这样使用[AcceptVerbs]属性。不过,我没有创建此类自定义属性的经验。


创建一个触发 OnActionExecuting 的 ActionFilter

public class AjaxActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (!filterContext.HttpContext.Request.IsAjaxRequest())
            filterContext.Result = new RedirectResult(//path to error message);           
    }
}

设置过滤器的 Result 属性将阻止 ActionMethod 的执行。

然后您可以将其作为 ActionMethods 的属性应用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC:对操作强制执行 AJAX 请求 的相关文章

  • ajax 成功后循环 JSON 响应

    抱歉 这是重复的here https stackoverflow com questions 733314 jquery loop over json result from ajax success问过 但我对此很陌生 所以我想知道该怎么
  • NServiceBus 3.2 示例问题

    我正在尝试运行 AsyncPages 的 NServiceBus 示例 看起来很简单 从 NServiceBus com 下载最新版本 执行bat文件来安装先决条件 打开解决方案 Press F5 在文本框中输入数字 当我这样做时 我遇到了
  • 拖放图像上传在服务器上不起作用

    我正在尝试实现拖放图像上传 我在网上找到了一个相当简单的脚本并适合我的使用 在我的本地安装中 文件上传得很好 但在服务器上却不行 从我的调试尝试来看 SERVER HTTP X FILENAME 甚至没有被 php 设置 我尝试了以下方法
  • 如何在asp.net C#中从http重定向到https并将其设为网站的默认版本

    如何在asp net c 中从http重定向到https 我已经安装了https证书现在我想将https设置为我的网站的默认版本 iam使用windows server 2008 R2 asp net C 4 0 您是否正在寻找这样的东西
  • 删除datagridview中的一行

    我想删除更新面板中 Gridview 中的一行 但我没有使用命令按钮 而是使用了链接按钮来获取确认消息 现在 如果我按 确定 则应删除该记录 从 db 和 frm girdview 中删除 我知道如何从数据库中删除 但不知道如何按下链接按钮
  • ASP.NET MVC:如何将多个对象传输到 View 方法?

    我完成了 NerdDinner 教程 现在我正在玩一些项目 索引页显示所有即将举行的晚餐 public ActionResult Index var dinners dinnerRepository FindUpComingDinners
  • jQuery 延迟可以取消吗?

    我遇到了一种情况 我想取消延期 延迟与 ajax 调用相关联 为什么我使用延迟 我不使用 ajax 返回的普通 xhr 对象 我使用的是 jsonp 这意味着我无法使用 HTTP 状态代码进行错误处理 并且必须将它们嵌入到响应中 然后检查代
  • Magento - AJAX 将产品页面元素调用到类别页面。选择框未填充

    我正在尝试在我的 Magento 商店上创建 ajax 快速视图 或 快速购物车 类型功能 一种将鼠标悬停在产品上并可以选择在灯箱中 快速查看 它而不是转到产品页面的方式 我正在使用一个非常简单的 jQuery Ajax 调用 如下所示 j
  • ASP.NET Core Web 应用程序和 Razor 类库项目之间的路由

    我创建了一个 ASP NET Core 3 0 MVC 项目 它运行良好 在同一个解决方案中 我添加了 3 个 或更多 项目 Razor 类库 每个这样的项目都有一个控制器 如何配置路由以便可以访问这些项目的控制器方法 我的解决方案如下所示
  • 当结合 asp.net 动态数据和 MVC MetaModel.Visible 包含 Scaffold==false 的表时

    我通过创建一个新的 DD 项目并添加 MVC 内容 引用 路由 使用等 来组合 MVC 和 DD default aspx 来自 DD 上的表列表将显示所有表 包括带有 ScaffoldTable false 的 Scaffold true
  • 在 ASP.NET MVC 中使用 bootstrap 创建模式

    我在 ASP NET MVC 项目上使用 NET Framework 4 5 Bootstrap v3 3 6 我想做的是创建一个模态表单 我尝试了以下方法 在主布局中创建了一个模态容器 div class modal fade style
  • 将有用的消息从一个控制器传递到另一个重定向的控制器

    我想在用户单击按钮后创建 RedirectToAction 在重定向之前 我将信息存储到变量中 最后 在我转向行动之后 我想展示一些有用的信息 我试过这个 ViewBag message User with ID id was change
  • 为 ASP.NET MVC 实现自定义登录

    我是 ASP NET MVC 的新手 需要一些关于如何实现以下内容的建议 该站点是一个使用率很高的站点 内部 内联网 约有 200 个用户 我们使用表单身份验证来访问 SQL Server DB 不是 Windows 集成 有些操作受到保护
  • 使用 Ajax 和 PHP 上传图像

    我想将图像上传到我的服务器 并控制 HTML 代码中的 PHP 回显 为此 我想使用 jQuery Ajax 但我不知道如何使用 Ajax 将图像发送到 PHP 这是一个大学项目 所以我不能使用任何类型的插件 我的实际代码 HTML
  • ASP.NET MVC 中的表单超时问题

    如何在 ASP NET MVC 中关闭表单身份验证 我有注册 登录和忘记密码页面 旨在进入 Web 应用程序 最初我 我目前将我的 asp net mvc Web 应用程序托管为单个代码库和多个数据库格式 我遇到表单在一段时间内过期 并且
  • jquery和IE提交,ajaxForm不工作

    我有一个表格
  • SaveChangesAsync 不更新数据库表中的值

    这是我的桌子 统计数据 Id Depth RefreshCounter 样本记录 Id Depth RefreshCounter 1 1 1 2 1 0 3 1 0 4 1 0 现在我需要做的是 每当我刷新页面时 我需要在深度为 1 的数据
  • 使用 Polly 在 HttpStatusCode.Unauthorized 之后重试

    我正在调用外部 API 并希望处理调用返回的事件Unauthorized HttpResponseMessage 发生这种情况时 我想刷新访问令牌并再次拨打电话 我正在尝试使用Polly使用以下代码 public async Task
  • 如何将 Ajax 与 Symfony2 集成 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找有关 symfony2 中
  • HttpResponseMessage 的内容为 JSON

    我有一个 ASP NET MVC WEB API 由于多种原因 由于没有授权而重定向 我不能只使用一个简单的对象并在我的控制器方法中返回它 因此我需要 HttpResponseMessage 类来允许我重定向 目前我正在这样做 var re

随机推荐

  • ParserError:标记数据时出错。 C 错误:第 4 行应有 7 个字段,但读取 csv 文件时出现 10 个错误

    我正在尝试阅读csv使用 pandas 文件 df1 pd read csv panda error csv header None sep 但我收到此错误 ParserError Error tokenizing data C error
  • jquery ui datepicker 明年和上一年

    在标准 jquery ui datepicker 小部件上 只有一个用于选择月份的下一个和上一个按钮 如果我启用年份 它将显示在选择框中 在日历两侧实现两个按钮的好方法是什么 一个用于选择下个月 一个用于选择明年 在右侧相邻显示 当然 对左
  • 无法将 std::unorded_set 与自定义 KeyEqual 进行比较

    以下程序无法编译 但如果我不评论operator 它编译 为什么operator 当我已经提供时仍然需要FooEqual include
  • Ruby 的 File.open 和 f.close 的需要

    大多数编程语言都知道 处理文件的流程是开放 使用 关闭 然而我在 ruby 代码中多次看到不匹配的 File open 调用 而且我发现这颗知识的瑰宝在红宝石文档中 当垃圾收集器声明 I O 流时 它们会自动关闭 深红和黄友好的 irc 对
  • 使用 Powershell 检测 GPT 和 MBR 分区

    有没有办法用powershell判断磁盘是否有GPT或MBR分区 如果您使用的是 Windows 8 Windows Server 2012 或更高版本 则可以使用存储 cmdlet 之一来检查这一点 Get Disk 该命令的输出格式如下
  • 在 Hibernate 中使用查询映射实体

    考虑表 sales id seller id amount date 这是生成的视图sales使用查询SELECT seller id SUM amount FROM sales GROUP BY seller id total sales
  • 使用 .NET 的 Xamarin iOS 本地化

    我正在尝试在 Xamarin iOS Android 项目的可移植类库中使用 NET 本地化 我已按照以下步骤操作 如何在 C 中使用本地化 并具有如下所示的代码 string sText strings enter movie name
  • 创建没有源镜像(操作系统)的 docker 镜像

    我们可以使用没有源映像 OF 的 docker 文件创建 docker 映像吗 FROM rhel 我们不希望所有应用程序 docker 镜像中都包含基础镜像 centos 或 rhel 我们想要分离基础镜像 centos 或 rhel 和
  • 如何检测 UITableView 标题何时滚动出可见区域?

    如何检测 UITableView 标题 表标题 而不是节标题 何时滚动出可见区域 提前致谢 我能想到几种可能的解决方案 1 您可以使用该委托的方法 表视图 didEndDisplayingHeaderView forSection 但是 仅
  • 使用 Android Espresso 进行测试时如何单击操作栏项目?

    我正在使用 Android Espresso 来测试我的活动 我有多个操作栏项目 其中大部分隐藏在溢出中 我正在尝试运行此测试 但错误表明层次结构中没有视图 与不可见不同 MediumTest public void testClickIn
  • 渲染部分视图时如何调用控制器操作?

    我正在为侧边栏创建部分视图 该侧边栏将显示我的网站中最受欢迎的帖子 如何创建一个单独的控制器来加载部分视图所需的模型 这IEnumerable
  • 带有虚函数的类的大括号初始化

    有这样的代码 struct A int x void f struct B int y virtual void f A a 2 B b 3 error no matching constructor for initialization
  • 让 NFC/Beam 更加自动化

    我正在向我的应用程序添加 NFC Beam 功能 我希望它尽可能自动工作 我想摆脱发送者的 触摸到光束 屏幕和接收者的 扫描新标签 屏幕 基本上 我希望它像三星广告中那样工作 我在 stackoverflow 上读到 似乎没有办法摆脱 To
  • JavaScript 中分组运算符“()”的功能与 Haskell 或其他编程语言有何不同?

    分组运算符 在 JavaScript 中 分组运算符 控制表达式中求值的优先级 有没有功能 JavaScript 本身与 Haskell 或任何其他编程语言有何不同 换句话说 功能是否齐全 编程语言本身受评估策略 也许我们可以分享下面的代码
  • MVC 4模型中提交表单在控制器post方法中为空

    所以我现在的问题是 当我提交以下表单时 我无法将模型放入控制器中 我试图让 BillingCodes 这是 BillingCodeObjects 的列表 中的项目循环通过并显示 我从其中删除了一些与情况无关的代码 以使其更短且更易于阅读 这
  • 如何本地化 WPF 4.0 DatePicker 控件

    当您清除新的 WPF 4 0 DatePicker 控件上的框时 它会显示 选择日期 有没有办法本地化文本 我采纳了马特的想法 并对其进行了一些扩展 我实现了一个附加行为 它允许您通过 XAML 为每个 DatePicker 控件定义水印
  • C# 中保存的 JPG 的质量

    我制作了一个小型 C 应用程序来创建 jpg 格式的图像 pictureBox Image Save name ImageFormat Jpeg 镜像创建成功 我输入一张原始图片 用它做一些事情并保存它 然而 这张新照片的质量低于原始照片
  • 如何使用 grep 进行搜索和替换

    我需要在目录中的所有文件和子目录中递归搜索指定的字符串 并用另一个字符串替换该字符串 我知道找到它的命令可能如下所示 grep string to find r 但我怎样才能替换每个实例string to find用另一个字符串 另一种选择
  • Mongoose Schema 尚未注册模型

    我正在使用 MEAN 堆栈 当我尝试使用以下命令启动服务器时npm start 我得到一个例外 schema hasn t been registered for model Post Use mongoose model name sch
  • ASP.NET MVC:对操作强制执行 AJAX 请求

    我正在寻找一种方法来强制只能通过 AJAX 请求访问控制器的操作 在调用操作方法之前执行此操作的最佳方法是什么 我想从我的操作方法中重构以下内容 if Request IsAjaxRequest Do something else retu