加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC:对动作执行AJAX请求

发布时间:2020-12-15 18:58:23 所属栏目:asp.Net 来源:网络整理
导读:我正在寻找一种方法来强制控制器的操作只能通过 AJAX请求进行访问. 在调用action方法之前,最好的方法是什么?我想从我的动作方法重构以下内容: if(Request.IsAjaxRequest()) // Do somethingelse // return an error of some sort 我设想的是一个ActionMeth
我正在寻找一种方法来强制控制器的操作只能通过 AJAX请求进行访问.

在调用action方法之前,最好的方法是什么?我想从我的动作方法重构以下内容:

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中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读