当前位置: 首页>>代码示例>>C#>>正文


C# Mvc.ControllerBase类代码示例

本文整理汇总了C#中System.Web.Mvc.ControllerBase的典型用法代码示例。如果您正苦于以下问题:C# ControllerBase类的具体用法?C# ControllerBase怎么用?C# ControllerBase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ControllerBase类属于System.Web.Mvc命名空间,在下文中一共展示了ControllerBase类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ToPaging

        public static void ToPaging(int pageIndex, int dataCount, ControllerBase controller, int pageSize = 20)
        {
            int pagesCount = 1;
            int pageStartIndex = 1;
            int pageEndIndex = 0;
            controller.ViewBag.PageNowIndex = pageIndex;
            controller.ViewBag.PageSize = pageSize;
            controller.ViewBag.PagesCount = pagesCount = pageEndIndex = int.Parse(Math.Ceiling((double)dataCount / pageSize).ToString());

            if (pagesCount > 9)
            {
                //最多显示9个页码
                if (pageIndex > 5)
                {
                    pageStartIndex = pageIndex - 4;
                    if (pagesCount - pageIndex > 4)
                        pageEndIndex = pageIndex + 4;
                }
                else
                    pageEndIndex = 9;
            }

            controller.ViewBag.PageStartIndex = pageStartIndex;
            controller.ViewBag.PageEndIndex = pageEndIndex;
        }
开发者ID:jingwang109,项目名称:zsfproject,代码行数:25,代码来源:Paging.cs

示例2: Dynamic

        protected virtual ActionResult Dynamic(ControllerBase controller, string viewName, object model, Func<ControllerBase, Dictionary<string, object>, string, object, object> json)
        {
            var propertyBag = new Dictionary<string, object>();
            
            if (model != null)
            {
                List<JsonField> properties;
                var cacheKey = model.GetType().FullName;

                if (!_propertyCache.TryGet(cacheKey, out properties))
                {
                    properties = new List<JsonField>();
                    properties.AddRange(model.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)
                        .Where(property => GetCustomAttribute(property, typeof(JsonPropertyAttribute)) != null)
                        .Select(property => new JsonField(property, (JsonPropertyAttribute)GetCustomAttribute(property, typeof(JsonPropertyAttribute))))
                        .ToList());
                    properties.AddRange(model.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance)
                        .Where(field => GetCustomAttribute(field, typeof(JsonPropertyAttribute)) != null)
                        .Select(field => new JsonField(field, (JsonPropertyAttribute)GetCustomAttribute(field, typeof(JsonPropertyAttribute))))
                        .ToList());

                    _propertyCache.Add(cacheKey, properties);
                }

                properties.ForEach(property => propertyBag.Add(property.Name, property.GetValue(model)));
            }

            return controller.AsDynamic().Json(json(controller, propertyBag, viewName, model), JsonRequestBehavior.AllowGet);
        }
开发者ID:grbbod,项目名称:drconnect-jungo,代码行数:29,代码来源:DynamicActionResultAttribute.cs

示例3: WriteForgeryToken

        private static void WriteForgeryToken(ControllerBase controller)
        {
            string cookieToken, formToken;
            var context = controller.ControllerContext.HttpContext;

            var oldCookie = context.Request.Cookies[AntiForgeryConfig.CookieName];
            var oldCookieToken = oldCookie != null ? oldCookie.Value : null;

            AntiForgery.GetTokens(oldCookieToken, out cookieToken, out formToken);
            context.Items[FlushedAntiForgeryTokenKey] = formToken;

            if (AntiForgeryConfig.RequireSsl && !context.Request.IsSecureConnection)
            {
                throw new InvalidOperationException("WebPageResources.AntiForgeryWorker_RequireSSL");
                    //TODO: Find string message
            }

            var response = context.Response;

            if (!string.IsNullOrEmpty(cookieToken))
            {
                response.Cookies.Set(new HttpCookie(AntiForgeryConfig.CookieName, cookieToken) { HttpOnly = true });
            }

            if (!AntiForgeryConfig.SuppressXFrameOptionsHeader)
            {
                // Adding X-Frame-Options header to prevent ClickJacking. See
                // http://tools.ietf.org/html/draft-ietf-websec-x-frame-options-10
                // for more information.
                response.AddHeader("X-Frame-Options", "SAMEORIGIN");
            }
        }
开发者ID:nikmd23,项目名称:CourtesyFlush,代码行数:32,代码来源:ContollerBaseExtension.cs

示例4: GetModelValidator

 private static ModelValidator GetModelValidator(this object model, ControllerBase controller)
 {
     return ModelValidator.GetModelValidator(
         ModelMetadataProviders.Current.GetMetadataForType(() => model, model.GetType()),
         controller.ControllerContext
         );
 }
开发者ID:DerAlbertCom,项目名称:FluentMetadata,代码行数:7,代码来源:ControllerValidationExtensions.cs

示例5: GetActionDescriptor

 private static ActionDescriptor GetActionDescriptor(ControllerBase controller, RouteData routeData)
 {
     var controllerDescriptor = new ReflectedControllerDescriptor(controller.GetType());
     var actionName = routeData.GetRequiredString("action");
     var actionDescriptor = controllerDescriptor.FindAction(controller.ControllerContext, actionName);
     return actionDescriptor;
 }
开发者ID:sandermvanvliet,项目名称:Xania.AspNet,代码行数:7,代码来源:HttpControllerAction.cs

示例6: Resource

        /// <summary>
        /// Get the label with the specified key from the resource files.
        /// </summary>
        /// <param name="controller">Controller that requests the resource.</param>
        /// <param name="key">The key.</param>
        /// <param name="fallbackToKey">If true then if a resource is not found with the specified key the key is returned.</param>
        private static string Resource(ControllerBase controller, RouteData routeData, string key, bool fallbackToKey)
        {
            var resClass = LocalizationHelpers.FindResourceStringClassType(controller.GetType());

            var widgetName = routeData != null ? routeData.Values["widgetName"] as string : null;
            if (!string.IsNullOrEmpty(widgetName))
            {
                var widget = FrontendManager.ControllerFactory.ResolveControllerType(widgetName);
                if (widget != null)
                {
                    var widgetResClass = LocalizationHelpers.FindResourceStringClassType(widget);
                    string res;
                    if (widgetResClass != null && Res.TryGet(widgetResClass.Name, key, out res))
                    {
                        return res;
                    }
                }
            }

            string result;
            if (Res.TryGet(resClass.Name, key, out result))
            {
                return result;
            }

            if (fallbackToKey)
            {
                return key;
            }
            
            return "#ResourceNotFound: {0}, {1}#".Arrange(resClass.Name, key);
        }
开发者ID:jeffpignataro,项目名称:feather,代码行数:38,代码来源:LocalizationHelpers.cs

示例7: TaxonomyUrlParamsMapper

 /// <summary>
 /// Initializes a new instance of the <see cref="TaxonomyUrlParamsMapper" /> class.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="taxonUrlEvaluator">The taxon URL evaluator.</param>
 /// <param name="actionName">Name of the action.</param>
 public TaxonomyUrlParamsMapper(ControllerBase controller, TaxonUrlMapper taxonUrlEvaluator, string actionName = TaxonomyUrlParamsMapper.DefaultActionName)
     : base(controller)
 {
     this.actionName = actionName;
     this.taxonUrlEvaluator = taxonUrlEvaluator;
     this.actionMethod = controller.GetType().GetMethod(this.actionName, BindingFlags.Instance | BindingFlags.Public);
 }
开发者ID:RifasRazick,项目名称:feather,代码行数:13,代码来源:TaxonomyUrlParamsMapper.cs

示例8: CreateMockControllerContext

 public static ControllerContext CreateMockControllerContext(ControllerBase controller)
 {
     var mockHttpContext = CreateMockHttpContext();
       var controllerContext = new ControllerContext(mockHttpContext, new RouteData(), controller);
       controller.ControllerContext = controllerContext;
       return controllerContext;
 }
开发者ID:pwideman,项目名称:ClubPool,代码行数:7,代码来源:ControllerHelper.cs

示例9: AppendAlert

        /// <summary>
        /// Sets the alert for the mvc view to render. Rendered by Html.RenderAlertMessages().
        /// </summary>
        /// <param name="controllerBase">The MVC controller from which this call is being made.</param>
        /// <param name="alert">The populated alert to show to the user.</param>
        /// <exception cref="ArgumentNullException">If either argument is null.</exception>
        public static void AppendAlert(ControllerBase controllerBase, AlertDetail alert)
        {
            if (controllerBase == null)
                throw new ArgumentNullException("controllerBase");
            if (alert == null)
                throw new ArgumentNullException("alert");

            Queue<AlertDetail> queue;

            // Get the queue
            if (alert.EnableCrossView)
                queue = controllerBase.TempData["CouncilSoft.BootstrapAlerts"] as Queue<AlertDetail>;
            else
                queue = controllerBase.ViewData["CouncilSoft.BootstrapAlerts"] as Queue<AlertDetail>;

            // Or create the queue
            if (queue == null)
                queue = new Queue<AlertDetail>();

            // Enqueue the item
            queue.Enqueue(alert);

            // Persist the updated queue.
            if (alert.EnableCrossView)
                controllerBase.TempData["CouncilSoft.BootstrapAlerts"] = queue;
            else
                controllerBase.ViewData["CouncilSoft.BootstrapAlerts"] = queue;
        }
开发者ID:theolymp,项目名称:CouncilSoft.BootstrapAlert,代码行数:34,代码来源:AlertManager.cs

示例10: CopyControllerData

        /// <summary>
        /// Ensure TempData and ViewData is copied across
        /// </summary>
        private static void CopyControllerData(ControllerContext context, ControllerBase controller)
        {
            foreach (var d in context.Controller.ViewData)
                controller.ViewData[d.Key] = d.Value;

            controller.TempData = context.Controller.TempData;
        }
开发者ID:phaniarveti,项目名称:Experiments,代码行数:10,代码来源:UmbracoPageResult.cs

示例11: Hydrate

        public void Hydrate(ControllerBase controller)
        {
            if (_model == null)
                return;

            controller.ViewData.Model = _model;
        }
开发者ID:khalidabuhakmeh,项目名称:PerfMatters.Flush,代码行数:7,代码来源:IHydrator.cs

示例12: CreateControllerContext

		public static ControllerContext CreateControllerContext (ControllerBase controller, Dictionary<string, string> formValues, 
									 HttpCookieCollection requestCookies, IDictionary<string, string> routeData)
		{
			HttpContextBase httpContext = CreateHttpContext ();

			if (formValues != null) {
				foreach (string key in formValues.Keys)
					httpContext.Request.Form.Add (key, formValues[key]);
			}

			if (requestCookies != null) {
				foreach (string key in requestCookies.Keys)
					httpContext.Request.Cookies.Add (requestCookies[key]);
			}

			RouteData route = new RouteData ();
			route.Values.Add ("controller", controller.GetType ().Name);

			if (routeData != null) {
				foreach (var valuePair in routeData)
					route.Values.Add (valuePair.Key, valuePair.Value);
			}

			return new ControllerContext (new RequestContext (httpContext, route), controller);
		}
开发者ID:ivanz,项目名称:IvanZ.Mvc.LocalizableViews,代码行数:25,代码来源:MockHelper.cs

示例13: FakeControllerContext

 public FakeControllerContext(
     ControllerBase controller,
     IPrincipal principal
     )
     : base(new FakeHttpContext(principal, null, null, null, null), new RouteData(), controller)
 {
 }
开发者ID:BrandFox,项目名称:beavers-encounter,代码行数:7,代码来源:FakeControllerContext.cs

示例14: GetFlashMessages

 private static IDictionary<string, MvcHtmlString> GetFlashMessages(ControllerBase controller, string sessionKey)
 {
     sessionKey = "Flash." + sessionKey;
     return (controller.TempData[sessionKey] != null
                 ? (IDictionary<string, MvcHtmlString>)controller.TempData[sessionKey]
                 : new Dictionary<string, MvcHtmlString>());
 }
开发者ID:briansalato,项目名称:Irving,代码行数:7,代码来源:FlashHelper.cs

示例15: EnsureControllerContext

 private static void EnsureControllerContext(ControllerBase controller)
 {
     if (controller.ControllerContext==null)
     {
         controller.ControllerContext=new ControllerContext();
     }
 }
开发者ID:DerAlbertCom,项目名称:FluentMetadata,代码行数:7,代码来源:ControllerValidationExtensions.cs


注:本文中的System.Web.Mvc.ControllerBase类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。