29 lines
1011 B
C#
29 lines
1011 B
C#
|
namespace System.Web.Mvc {
|
|||
|
using System;
|
|||
|
using System.Collections.Specialized;
|
|||
|
using System.Web.Helpers;
|
|||
|
|
|||
|
public sealed class FormValueProviderFactory : ValueProviderFactory {
|
|||
|
|
|||
|
private readonly UnvalidatedRequestValuesAccessor _unvalidatedValuesAccessor;
|
|||
|
|
|||
|
public FormValueProviderFactory()
|
|||
|
: this(null) {
|
|||
|
}
|
|||
|
|
|||
|
// For unit testing
|
|||
|
internal FormValueProviderFactory(UnvalidatedRequestValuesAccessor unvalidatedValuesAccessor) {
|
|||
|
_unvalidatedValuesAccessor = unvalidatedValuesAccessor ?? (cc => new UnvalidatedRequestValuesWrapper(cc.HttpContext.Request.Unvalidated()));
|
|||
|
}
|
|||
|
|
|||
|
public override IValueProvider GetValueProvider(ControllerContext controllerContext) {
|
|||
|
if (controllerContext == null) {
|
|||
|
throw new ArgumentNullException("controllerContext");
|
|||
|
}
|
|||
|
|
|||
|
return new FormValueProvider(controllerContext, _unvalidatedValuesAccessor(controllerContext));
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|