コード例 #1
0
        public static void AddViewData(object model, IController controller, int depth = 0)
        {
            if (depth > 3)
            {
                return;
            }

            // Step 1. Get the model
            if (model == null)
            {
                return;
            }

            // Step 2. Get the model type
            Type modelType = model.GetType();

            // Step 3. Get the IAddView Attributes
            List <IAddViewData> addViewDataList = AttributeHelper.GetAddViewDataList(modelType);

            // Step 4. Call IAddViewData.Add
            foreach (IAddViewData addViewData in addViewDataList)
            {
                addViewData.Add(model, controller);
            }

            /////////////////////////////////////////////////////

            List <IExecuteValue> executeValueList = AttributeHelper.GetAttributeList <IExecuteValue>(modelType).FindAll(x => x.Global && !string.IsNullOrEmpty(x.Key));

            foreach (IExecuteValue item in executeValueList)
            {
                ((ControllerBase)controller).ViewData[item.Key] = item.Execute(null, model, controller);
            }
        }
コード例 #2
0
        public static void AddViewData(object model, IController controller)
        {
            // Step 1. Get the model
            if (model == null)
            {
                return;
            }

            // Step 2. Get the model type
            Type modelType = model.GetType();

            // Step 3. Get the IAddView Attributes
            List <IAddViewData> addViewDataList = AttributeHelper.GetAddViewDataList(modelType);

            // Step 4. Call IAddViewData.Add
            foreach (IAddViewData addViewData in addViewDataList)
            {
                addViewData.Add(controller);
            }
        }