
Untitled
By: a guest on
Jul 22nd, 2012 | syntax:
None | size: 1.18 KB | hits: 12 | expires: Never
Using Dependency Injection in ASP.NET MVC3 Model Binder
public class UserModelBinder : IModelBinder
{
//[Inject]
public UserDataService userData { get; set; }
public object BindModel(
ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
Guid UserID =
(Guid)Membership.GetUser().ProviderUserKey;
//userDataService = DependencyResolver.Current
// .GetService<UserDataService>();
User user = userDataService.GetUser(UserID);
return user;
}
}
ModelBinders.Binders[typeof(User)] = new UserModelBinder();
userDataService = DependencyResolver.Current
.GetService<UserDataService>();
public class UserModelBinder : IModelBinder
{
public Func<UserDataService> UserData { get; set; }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
Guid UserID = (Guid)Membership.GetUser().ProviderUserKey;
User u = UserData().GetUser(UserID);
return u;
}
}
ModelBinders.Binders[typeof(User)] = new UserModelBinder()
{
userData = () => DependencyResolver.Current.GetService<UserDataService>();
}