1

アクション フィルターでレイアウトを null に設定することは可能ですか? 例えば

public ActionResult SomeAction()
    {
        return PartialView();
    }

いくつかのアクションをレンダリングしたい

@Html.Action("someaction")

今のところ動作します。

しかし、私はこのアクションを 2 つのモードで使用したいと考えています。さまざまな状況で、子のように、マスターのように。このため、レイアウトをビューで null に設定できます

見る:

@{
   if(condtition)
   {
        Layout = null;
   }
}

しかし、私はよりエレガントな方法を見つけたい:)

お気に入り:

部分的なアクションなし

public ActionResult SomeAction()
        {
            return View();
        }

アクションが子の場合、フィルターでレイアウトをnullに設定します

 public class LayoutFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
           if(filterContext.IsChildAction)
           {
               //set the layout to NULL here!

           }
        }
    }

可能ですか?何か案は?

4

1 に答える 1