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

あなたは電話する必要がありますControllerContext.RouteContext.GetRequiredString("controller")

于 2012-08-01T12:51:52.357 に答える
0

コントローラの名前を取得するには、次を使用できます。

RouteData.Values["controller"]

于 2012-08-09T19:02:36.797 に答える