1

我正在开发 MVC 应用程序。

我想将控制器传递给其他类以进行验证。通过控制器后,我无法在该类中获取控制器名称。

  [HttpPost]
    public ActionResult Create(Location location)
    {
        if (ModelState.IsValid)
        {
            Validations v = new Validations();

            boolean b;


            //passing controller in another class's method
           b = v.ValidProperty(location);


           if (ValidProperties == true)
             {
                 db.Locations.Add(location);
                 db.SaveChanges();
                 return RedirectToAction("Index");

             }

        }


    }

通过以下方法获取控制器

 public void  ValidProperty(object Controller)
    {

    //Gives an error in below line
        string CtrName = (string)Controller.ToString;

     }

如何获取控制器名称?

4

3 回答 3

2
b = v.ValidProperty(ControllerContext);

您可能想知道我在哪里初始化 ControllerContext 变量。好吧,你不必

     public void  ValidProperty(ControllerContext ControllerContext)
        {
           // do your logic here.
    }
于 2012-08-01T15:00:57.243 回答
0

要获取控制器的名称,您可以使用

RouteData.Values["controller"]

于 2012-08-09T19:02:36.797 回答
0

你应该打电话ControllerContext.RouteContext.GetRequiredString("controller")

于 2012-08-01T12:51:52.357 回答