相关疑难解决方法(0)

为什么我的ActionFilters都没有运行?

我今天早些时候在ASP.Net MVC中提出了一个问题ActionFilters.事实证明我的问题确实是我ActionFilter甚至没有跑步.我阅读这篇文章的其他内容,我找不到他做的任何我不做的事情.

这是我的代码:

// The ActionFilter itself
public class TestingIfItWorksAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.Controller.TempData["filter"] = "it worked!";
        base.OnActionExecuting(filterContext);
    }
}

// The Controller Action with the filter applied
[TestingIfItWorks]
public ActionResult Test()
{
    var didit = TempData["filter"];
    return View();
}
Run Code Online (Sandbox Code Playgroud)

我在调试时永远不会遇到过滤器方法中的断点,并TempData["filter"]null呈现视图时保留一个值.

为什么这不起作用?

asp.net-mvc action-filter

8
推荐指数
2
解决办法
3959
查看次数

如何在多个Controller类之间重用Action Method验证

我正在使用实体框架-6在asp.net mvc-5 Web应用程序上工作.我使用实体框架映射了我的数据库表,生成包含DBContext类的.edmx文件.目前我有两个控制器类,一个用于管理服务器,另一个用于管理vms.添加/编辑服务器或VM时,我想检查他们的ip和mac地址是否已经存在.目前我正在对动作方法本身进行如下检查: -

public class Server : Controller{
    [HttpPost]
     [ValidateAntiForgeryToken]
     public ActionResult Create(ServerJoin sj)
            {
                bool ITipunique = repository.ISITIPUnique(vmj.NetworkInfo2.FirstOrDefault().IPADDRESS);
                bool ITmacunique = repository.ISITMACUnique(vmj.NetworkInfo2.FirstOrDefault().MACADDRESS);
                bool Tipunique = repository.ISTIPUnique(vmj.NetworkInfo2.FirstOrDefault().IPADDRESS);
                bool Tmacunique = repository.ISTMACUnique(vmj.NetworkInfo2.FirstOrDefault().MACADDRESS);

                try
                {

                    if ((sj.IsIPUnique == true) && (!ITipunique || !Tipunique))
                    {

                        ModelState.AddModelError("NetworkInfo2[0].IPAddress", "Error occurred. The Same IP is already assigned.");

                    }
                    if ((sj.IsMACUnique == true) && (!ITmacunique || !Tmacunique))
                    {

                        ModelState.AddModelError("NetworkInfo2[0].MACAddress", "Error occurred. The Same MAC Address is already assigned.");

                    }
Run Code Online (Sandbox Code Playgroud)

&

public class VM : Controlelr { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-5

4
推荐指数
1
解决办法
288
查看次数

标签 统计

asp.net-mvc ×2

action-filter ×1

asp.net ×1

asp.net-mvc-5 ×1

c# ×1