MVC 3: Add usercontrol to Razor view

You can’t add server side controls to Razor views. In general it is very bad practice to do so anyways in an ASP.NET MVC application. Due to the heritage of WebForms view engine you could violate this rule but in Razor things have been made clearer.

This being said you could still do some pornography in Razor and include a WebForms partial which will contain the user control (totally not recommended, don’t even know why I am mentioning it but anyway):

@Html.Partial("_Foo")

where in _Foo.ascx you could include server side controls:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%@ Register Assembly="SomeAssembly" Namespace="SomeNs" TagName="foo" %>

<foo:SomeControl runat="server" ID="fooControl" />

Leave a Comment