private static async Task AddValueProviderAsync(ValueProviderFactoryContext context) { var request = context.ActionContext.HttpContext.Request; IFormCollection formCollection; try { formCollection = await request.ReadFormAsync(); } catch (InvalidDataException ex) { // ReadFormAsync can throw InvalidDataException if the form content is malformed. // Wrap it in a ValueProviderException that the CompositeValueProvider special cases. throw new ValueProviderException(Resources.FormatFailedToReadRequestForm(ex.Message), ex); } catch (IOException ex) { // ReadFormAsync can throw IOException if the client disconnects. // Wrap it in a ValueProviderException that the CompositeValueProvider special cases. throw new ValueProviderException(Resources.FormatFailedToReadRequestForm(ex.Message), ex); } var valueProvider = new JQueryFormValueProvider( BindingSource.Form, JQueryKeyValuePairNormalizer.GetValues(formCollection, formCollection.Count), CultureInfo.CurrentCulture); context.ValueProviders.Add(valueProvider); }
public Task CreateValueProviderAsync(ValueProviderFactoryContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var query = context.ActionContext.HttpContext.Request.Query; if (query != null && query.Count > 0) { var valueProvider = new JQueryQueryStringValueProvider( BindingSource.Query, JQueryKeyValuePairNormalizer.GetValues(query, query.Count), CultureInfo.InvariantCulture); context.ValueProviders.Add(valueProvider); } return(Task.CompletedTask); }