ninject.web.mvc

Can a Ninject binding be based on a URL/route value?

懵懂的女人 提交于 2019-11-26 21:41:51
问题 I have a single controller that I want to use for CRUD operations on two different entities which implement the same interface. I'd like for Ninject to give it a different repository based on a query string value in the URL (or maybe a different URL, routed to the same controller). Is this possible? How can I do it? 回答1: That's usually a design smell but you could define the binding like this: kernel.Bind<IRepo>().ToMethod(ctx => { var a = HttpContext.Current.Request["a"]; if (a == "b") {