/// <summary> /// 初始化当前标签上下文。 /// </summary> /// <param name="context">当前HTML标签上下文,包含当前HTML相关信息。</param> public override void Init(TagHelperContext context) { base.Init(context); if (IconName == null) { if (Icon != IconType.None) { IconName = Icon.ToDescriptionString(); } else { IconName = Type.GetIconClassName(); } } if (!RouteValues.ContainsKey("handler")) { switch (Type) { case ActionType.Delete: case ActionType.MoveUp: case ActionType.MoveDown: case ActionType.Edit: case ActionType.Upload: RouteValues.Add("handler", Type.ToString()); break; } } }
public bool CheckIsActive(bool ignoreAction) { string currentController = ViewContext.RouteData.Values["Controller"].ToString(); string currentAction = ViewContext.RouteData.Values["Action"].ToString(); RouteValueDictionary routeValues = ViewContext.RouteData.Values; var stringComparer = StringComparison.OrdinalIgnoreCase; if (!string.IsNullOrEmpty(Controller) && !string.Equals(Controller, currentController, stringComparer)) { return(false); } if (!ignoreAction && !string.IsNullOrEmpty(Action) && !string.Equals(Action, currentAction, stringComparer)) { return(false); } foreach (var(key, value) in RouteValues) { if (!RouteValues.ContainsKey(key) || RouteValues[key].ToString() != value) { return(false); } } return(true); }
public override void Process(TagHelperContext context, TagHelperOutput output) { if (!output.Attributes.ContainsName(Href) && !context.AllAttributes.ContainsName("asp-route-lang") && !(RouteValues?.ContainsKey("lang") == true)) { var routeValues = ViewContext?.RouteData?.Values; if (routeValues != null) { var langValue = routeValues["lang"]?.ToString(); if (string.IsNullOrWhiteSpace(langValue)) { langValue = AnchorTagHelperSettings.DefaultCulture; } if (RouteValues == null) { RouteValues = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase); } RouteValues.Add("lang", langValue); } } base.Process(context, output); }
protected override string ResolveUrl(RouteValues routeValues, IElasticsearchClientSettings settings) { if (Pit is not null && !string.IsNullOrEmpty(Pit.Id ?? string.Empty) && routeValues.ContainsKey("index")) { routeValues.Remove("index"); } return(base.ResolveUrl(routeValues, settings)); }
protected string GetPageLink(int pageNumber, UrlHelper urlHelper) { if (RouteValues != null && !string.IsNullOrEmpty(PageRouteValueName) && RouteValues.ContainsKey(PageRouteValueName)) { RouteValues[PageRouteValueName] = pageNumber; } return(string.IsNullOrEmpty(ActionName) || string.IsNullOrEmpty(ControllerName) ? "#" : urlHelper.Action(ActionName, ControllerName, RouteValues)); }
public virtual void GenerateUrl() { if (!RouteValues.ContainsKey("app")) { RouteValues["app"] = Widget.Ace.AppName; } Url = GetApi(RouteValues); Dynamic = true; }
public override void Process(TagHelperContext context, TagHelperOutput output) { //RouteValues["culture"] = (string)context.AllAttributes.Where(e => e.Name == nameof(RouteCultureAttributeName)).FirstOrDefault()?.Value; if (!RouteValues.ContainsKey("culture")) { RouteValues["culture"] = (string)contextAccessor.HttpContext.Request.RouteValues["culture"] ?? Startup.DefaultRequestCulture.Culture.TwoLetterISOLanguageName; } base.Process(context, output); }
protected override string ResolveUrl(RouteValues routeValues, IElasticsearchClientSettings settings) { if ((Self.PitValue is not null || Self.PitDescriptor is not null || Self.PitDescriptorAction is not null) && routeValues.ContainsKey("index")) { routeValues.Remove("index"); } return(base.ResolveUrl(routeValues, settings)); }
public BindingResult Bind(string name, Type type, IRequest request, RouteValues routeValues, bool isNestedCall, object owner) { var nameLower = name.ToLowerInvariant(); if (routeValues.ContainsKey(nameLower)) { var value = routeValues[nameLower]; if (value != null) { var strValue = value.ToString(); var decodedValue = WebUtility.UrlDecode(strValue); return(this.GetResult(type, decodedValue, name, request, routeValues, owner)); } } if (request.HttpMethod == HttpMethod.Post || request.HttpMethod == HttpMethod.Put) { if (request.ContentType != null) { if (request.ContentType.MediaType == "multipart/form-data") { var value = request.Form[name]; if (value != null) { return(this.GetResult(type, value, name, request, routeValues, owner)); } } else if (request.ContentType.MediaType == "application/x-www-form-urlencoded") { var value = request.Form[name]; if (value != null) { return(this.GetResult(type, value, name, request, routeValues, owner)); } } else if (request.ContentType.MediaType == "application/json") { if (request.BufferlessInputStream.Length > 0) { string jsonString; using (var inputStream = new StreamReader(request.BufferlessInputStream, Encoding.UTF8, true, 1024, true)) jsonString = inputStream.ReadToEnd(); if (!string.IsNullOrWhiteSpace(jsonString)) { return(this.GetResult(type, jsonString, name, request, routeValues, owner)); } } } } } var query = request.Url.QueryCollection[name]; if (query == null) { return(new BindingResult(this.GetDefault(type), BindingResult.ResultType.Default)); } return(this.GetResult(type, request.Url.QueryCollection[name], name, request, routeValues, owner)); }