15,904,156 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Visual Basic questions
View Python questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Articles / Web Development / ASP.NET
Go to Article
Stats
Revisions (13)
C#
ASP.NET
.NET
C#4.0
.NET4.5
ASP.NET MVC Controller Dependency Injection for Beginners
S. M. Ahasan Habib
Rate me:
Please
Sign up or sign in
to vote.
4.82/5 (129 votes)
31 Dec 2013
CPOL
9 min read
641.8K
4.7K
216
In this article I demonastrate a very simple and straightforward way to inject controller dependency to ASP.NET MVC framework with constructor.
ControllerDependencyInjectionMvc4.zip
Mvc4
App_Data
aspnet-Mvc4-20130219211902.mdf
aspnet-Mvc4-20130219211902_log.ldf
App_Start
AuthConfig.cs
BundleConfig.cs
FilterConfig.cs
RouteConfig.cs
WebApiConfig.cs
Components
CustomControllerFactory2.cs
CustomControllerFactory3.cs
CustomeControllerFactory.cs
DefaultLogger.cs
ILogger.cs
MefControllerFactory.cs
Content
Site.css
themes
base
images
ui-bg_flat_0_aaaaaa_40x100.png
ui-bg_flat_75_ffffff_40x100.png
ui-bg_glass_55_fbf9ee_1x400.png
ui-bg_glass_65_ffffff_1x400.png
ui-bg_glass_75_dadada_1x400.png
ui-bg_glass_75_e6e6e6_1x400.png
ui-bg_glass_95_fef1ec_1x400.png
ui-bg_highlight-soft_75_cccccc_1x100.png
ui-icons_222222_256x240.png
ui-icons_2e83ff_256x240.png
ui-icons_454545_256x240.png
ui-icons_888888_256x240.png
ui-icons_cd0a0a_256x240.png
jquery.ui.accordion.css
jquery.ui.all.css
jquery.ui.autocomplete.css
jquery.ui.base.css
jquery.ui.button.css
jquery.ui.core.css
jquery.ui.datepicker.css
jquery.ui.dialog.css
jquery.ui.progressbar.css
jquery.ui.resizable.css
jquery.ui.selectable.css
jquery.ui.slider.css
jquery.ui.tabs.css
jquery.ui.theme.css
jquery-ui.css
minified
images
ui-bg_flat_0_aaaaaa_40x100.png
ui-bg_flat_75_ffffff_40x100.png
ui-bg_glass_55_fbf9ee_1x400.png
ui-bg_glass_65_ffffff_1x400.png
ui-bg_glass_75_dadada_1x400.png
ui-bg_glass_75_e6e6e6_1x400.png
ui-bg_glass_95_fef1ec_1x400.png
ui-bg_highlight-soft_75_cccccc_1x100.png
ui-icons_222222_256x240.png
ui-icons_2e83ff_256x240.png
ui-icons_454545_256x240.png
ui-icons_888888_256x240.png
ui-icons_cd0a0a_256x240.png
jquery.ui.accordion.min.css
jquery.ui.autocomplete.min.css
jquery.ui.button.min.css
jquery.ui.core.min.css
jquery.ui.datepicker.min.css
jquery.ui.dialog.min.css
jquery.ui.progressbar.min.css
jquery.ui.resizable.min.css
jquery.ui.selectable.min.css
jquery.ui.slider.min.css
jquery.ui.tabs.min.css
jquery.ui.theme.min.css
jquery-ui.min.css
ControllerDependencyInjection.sln
ControllerDependencyInjection.v11.suo
Controllers
AccountController.cs
HomeController.cs
favicon.ico
Filters
InitializeSimpleMembershipAttribute.cs
Global.asax
Global.asax.cs
Images
accent.png
bullet.png
heroAccent.png
orderedList0.png
orderedList1.png
orderedList2.png
orderedList3.png
orderedList4.png
orderedList5.png
orderedList6.png
orderedList7.png
orderedList8.png
orderedList9.png
Models
AccountModels.cs
Mvc4.csproj
Mvc4.csproj.user
obj
Debug
DesignTimeResolveAssemblyReferencesInput.cache
Mvc4.csproj.FileListAbsolute.txt
Mvc4.dll
Mvc4.pdb
TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
TempPE
packages.config
Properties
AssemblyInfo.cs
Scripts
_references.js
jquery.unobtrusive-ajax.js
jquery.unobtrusive-ajax.min.js
jquery.validate.js
jquery.validate.min.js
jquery.validate.unobtrusive.js
jquery.validate.unobtrusive.min.js
jquery.validate-vsdoc.js
jquery-1.7.1.intellisense.js
jquery-1.7.1.js
jquery-1.7.1.min.js
jquery-ui-1.8.20.js
jquery-ui-1.8.20.min.js
knockout-2.1.0.debug.js
knockout-2.1.0.js
modernizr-2.5.3.js
Views
_ViewStart.cshtml
Account
_ChangePasswordPartial.cshtml
_ExternalLoginsListPartial.cshtml
_RemoveExternalLoginsPartial.cshtml
_SetPasswordPartial.cshtml
ExternalLoginConfirmation.cshtml
ExternalLoginFailure.cshtml
Login.cshtml
Manage.cshtml
Register.cshtml
Home
About.cshtml
Contact.cshtml
Index.cshtml
Shared
_Layout.cshtml
_LoginPartial.cshtml
Error.cshtml
Web.config
Web.config
Web.Debug.config
Web.Release.config
ControllerDependencyInjectionMvc4-noexe.zip
aspnet-Mvc4-20130219211902.mdf
aspnet-Mvc4-20130219211902_log.ldf
AuthConfig.cs
BundleConfig.cs
FilterConfig.cs
RouteConfig.cs
WebApiConfig.cs
CustomControllerFactory2.cs
CustomControllerFactory3.cs
CustomeControllerFactory.cs
DefaultLogger.cs
ILogger.cs
MefControllerFactory.cs
Site.css
ui-bg_flat_0_aaaaaa_40x100.png
ui-bg_flat_75_ffffff_40x100.png
ui-bg_glass_55_fbf9ee_1x400.png
ui-bg_glass_65_ffffff_1x400.png
ui-bg_glass_75_dadada_1x400.png
ui-bg_glass_75_e6e6e6_1x400.png
ui-bg_glass_95_fef1ec_1x400.png
ui-bg_highlight-soft_75_cccccc_1x100.png
ui-icons_222222_256x240.png
ui-icons_2e83ff_256x240.png
ui-icons_454545_256x240.png
ui-icons_888888_256x240.png
ui-icons_cd0a0a_256x240.png
jquery.ui.accordion.css
jquery.ui.all.css
jquery.ui.autocomplete.css
jquery.ui.base.css
jquery.ui.button.css
jquery.ui.core.css
jquery.ui.datepicker.css
jquery.ui.dialog.css
jquery.ui.progressbar.css
jquery.ui.resizable.css
jquery.ui.selectable.css
jquery.ui.slider.css
jquery.ui.tabs.css
jquery.ui.theme.css
jquery-ui.css
ui-bg_flat_0_aaaaaa_40x100.png
ui-bg_flat_75_ffffff_40x100.png
ui-bg_glass_55_fbf9ee_1x400.png
ui-bg_glass_65_ffffff_1x400.png
ui-bg_glass_75_dadada_1x400.png
ui-bg_glass_75_e6e6e6_1x400.png
ui-bg_glass_95_fef1ec_1x400.png
ui-bg_highlight-soft_75_cccccc_1x100.png
ui-icons_222222_256x240.png
ui-icons_2e83ff_256x240.png
ui-icons_454545_256x240.png
ui-icons_888888_256x240.png
ui-icons_cd0a0a_256x240.png
jquery.ui.accordion.min.css
jquery.ui.autocomplete.min.css
jquery.ui.button.min.css
jquery.ui.core.min.css
jquery.ui.datepicker.min.css
jquery.ui.dialog.min.css
jquery.ui.progressbar.min.css
jquery.ui.resizable.min.css
jquery.ui.selectable.min.css
jquery.ui.slider.min.css
jquery.ui.tabs.min.css
jquery.ui.theme.min.css
jquery-ui.min.css
ControllerDependencyInjection.sln
ControllerDependencyInjection.v11.suo
AccountController.cs
HomeController.cs
favicon.ico
InitializeSimpleMembershipAttribute.cs
Global.asax
Global.asax.cs
accent.png
bullet.png
heroAccent.png
orderedList0.png
orderedList1.png
orderedList2.png
orderedList3.png
orderedList4.png
orderedList5.png
orderedList6.png
orderedList7.png
orderedList8.png
orderedList9.png
AccountModels.cs
Mvc4.csproj
Mvc4.csproj.user
Mvc4.csproj.FileListAbsolute.txt
TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
packages.config
AssemblyInfo.cs
_references.js
jquery.unobtrusive-ajax.js
jquery.unobtrusive-ajax.min.js
jquery.validate.js
jquery.validate.min.js
jquery.validate.unobtrusive.js
jquery.validate.unobtrusive.min.js
jquery.validate-vsdoc.js
jquery-1.7.1.intellisense.js
jquery-1.7.1.js
jquery-1.7.1.min.js
jquery-ui-1.8.20.js
jquery-ui-1.8.20.min.js
knockout-2.1.0.debug.js
knockout-2.1.0.js
modernizr-2.5.3.js
_ViewStart.cshtml
_ChangePasswordPartial.cshtml
_ExternalLoginsListPartial.cshtml
_RemoveExternalLoginsPartial.cshtml
_SetPasswordPartial.cshtml
ExternalLoginConfirmation.cshtml
ExternalLoginFailure.cshtml
Login.cshtml
Manage.cshtml
Register.cshtml
About.cshtml
Contact.cshtml
Index.cshtml
_Layout.cshtml
_LoginPartial.cshtml
Error.cshtml
Web.config
Web.config
Web.Debug.config
Web.Release.config
��/ / / <