我们有一个使用ASP.NET MVC构建的多用户管理面板的Web应用程序。由于多个用户同时访问同一页面,因此只有最后编辑和保存的用户数据才会更新到数据库。这会给其他用户带来问题。
提前致谢...
答案 0 :(得分:0)
创建类似sys_forms的表这个表有像控制器,动作和视图以及isActive
这样的列并在需要检查页面是否可用时添加操作过滤器
[PageAvailableFilter]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
并创建PageAvailableFilter类继承自ActionFilterAttribute并重写OnActionExecuting方法,因为此方法在控制器中的操作之前调用
public class PageAvailableFilterFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var controllerName = filterContext.routeData.Values["controller"];
var actionName = filterContext.routeData.Values["action"];
//here and you logic and query
if (some_conditions == true)
{
filterContext.Result = new RedirectResult("~/MyPage");
return;
}
}
}
并检查此控制器和操作是否可用,您可以在此类中使用viewbag和viewdata
了解更多信息,了解有关动作过滤器的更多信息