gpt4 book ai didi

asp.net-mvc - 防止加载局部 View

转载 作者:行者123 更新时间:2023-12-04 16:56:11 26 4
gpt4 key购买 nike

如何通过键入 http://mydomain.com/site/edit/1 防止加载部分 View 有没有办法做到这一点?

/马丁

最佳答案

如果您通过 Ajax 加载部分,那么您可以检查请求 HTTP header HTTP_X_REQUESTED_WITH 是否存在且其值等于 XMLHttpRequest .

当通过浏览器发出请求时, header 不存在

这是为您完成工作的 Action Filter 属性的一个非常简单的实现

public class CheckAjaxRequestAttribute : ActionFilterAttribute
{
private const string AJAX_HEADER = "X-Requested-With";

public override void OnActionExecuting( ActionExecutingContext filterContext ) {
bool isAjaxRequest = filterContext.HttpContext.Request.Headers[AJAX_HEADER] != null;
if ( !isAjaxRequest ) {
filterContext.Result = new ViewResult { ViewName = "Unauthorized" };
}
}
}

您可以使用它来装饰要检查请求是否为 ajax 请求的任何操作
[HttpGet]
[CheckAjaxRequest]
public virtual ActionResult ListCustomers() {
}

关于asp.net-mvc - 防止加载局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4361742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com