private void ProcessOpeningBrace() { Pos++; if (Pos < TemplateString.Length && TemplateString[Pos] == '{') { Pos++; FormatBuilder.Append("{{"); OpeningBraceIndex = TemplateString.IndexOf("{", Pos); return; } if (ClosingBraceIndex < 0) { FormatBuilder.Append("{{"); OpeningBraceIndex = TemplateString.IndexOf("{", Pos); return; } var selectorExpression = TemplateString.Substring(Pos, ClosingBraceIndex - Pos); var valueSelector = CreateValueSelector(selectorExpression); FormatBuilder.Append("{" + ValueSelectors.Count + "}"); ValueSelectors.Add(valueSelector); Pos = ClosingBraceIndex + 1; OpeningBraceIndex = TemplateString.IndexOf("{", Pos); ClosingBraceIndex = TemplateString.IndexOf("}", Pos); }
public MvcValueProvider(ActionContext actionContext) : base(actionContext.HttpContext) { ActionContext = actionContext; _Values = new Dictionary <string, object>(); _ModelBinderFactory = actionContext.HttpContext.RequestServices.GetRequiredService <IModelBinderFactory>(); _ModelMetadataProvider = actionContext.HttpContext.RequestServices.GetRequiredService <IModelMetadataProvider>(); ValueSelectors.Insert(0, new HttpRouteValueValueSelector(HttpContext)); ValueSelectors.Add(new HttpRouteDataTokenValueSelector(HttpContext)); }