public void GetBindersFromAttributes_ReadsModelBinderAttributeFromBuddyClass() { // Act IModelBinder binder = ModelBinders.GetBinderFromAttributes(typeof(SampleModel), null); // Assert Assert.IsType <SampleModelBinder>(binder); }
public void GetBindersFromAttributes_ReadsModelBinderAttributeFromBuddyClass() { Action <Type> errorAction = (Type t) => { throw new InvalidOperationException(); }; // Act IModelBinder binder = ModelBinders.GetBinderFromAttributes(typeof(SampleModel), errorAction); // Assert Assert.IsType <SampleModelBinder>(binder); }
public static void Execute(this IController controller, string action) { var request = RequestBuilder.CreateRequest(controller.GetType().Name, action, null); controller.Execute( new ControllerContext( controller, request.BuildRequest(), ViewEngines.CreateDefaults(), ModelBinders.CreateDefaults(), () => { } )); }
public void GetBindersFromAttributes_NullIfGetCustomAttributesReturnsNull() { // Arrange var provider = new Mock <ICustomAttributeProvider>(MockBehavior.Strict); bool inherit = true; provider.Setup(p => p.GetCustomAttributes(typeof(CustomModelBinderAttribute), inherit)).Returns((object[])null); Action <ICustomAttributeProvider> errorAction = (ICustomAttributeProvider t) => { throw new InvalidOperationException(); }; // Act IModelBinder binder = ModelBinders.GetBinderFromAttributes(provider.Object, errorAction); // Assert Assert.Null(binder); }
/// <summary> /// 配置查询的缺省参数设置 /// </summary> /// <modelExp name="setting"></modelExp> public static void Configure(DefaultQuerySettings setting) { if (setting == null) { throw new ArgumentNullException("setting"); } if (string.IsNullOrEmpty(setting.PageSizeName)) { throw new ArgumentNullException("setting.PageSizeName"); } if (string.IsNullOrEmpty(setting.PageIndexName)) { throw new ArgumentNullException("setting.PageIndexName"); } if (string.IsNullOrEmpty(setting.SortPropertyName)) { throw new ArgumentNullException("setting.SortPropertyName"); } if (string.IsNullOrEmpty(setting.SortOrderName)) { throw new ArgumentNullException("setting.SortOrderName"); } if (string.IsNullOrEmpty(setting.AscendingValue)) { throw new ArgumentNullException("setting.AscendingValue"); } if (string.IsNullOrEmpty(setting.DescendingValue)) { throw new ArgumentNullException("setting.DescendingValue"); } if (setting.PageSize == 0) { throw new ArgumentException("setting.PageSize 必须大于0"); } var binder = new QueryContextBinder(setting); ModelBinders.RegisterBinder <QueryContext, QueryContextBinder>(binder); }
public virtual IModelBinder GetModelBinder(ParameterDescriptor parameterDescriptor) { return(parameterDescriptor.BindingInfo.Binder ?? ModelBinders.GetBinder(parameterDescriptor.ParameterType)); }
public ControllerContext BuildControllerContext(IController controllerInstance) { return(new ControllerContext(controllerInstance, BuildRequest(), ViewEngines.CreateDefaults(), ModelBinders.CreateDefaults(), () => { })); }