Вместо создания пользовательских элементов управления аля WebForms, я бы предложил вам следующее:
Создание строго типизированного пользовательского элемента управления Header.ascx
:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<div><%: Model %></div>
А затем просто включите его в свои страницы:
<% Html.RenderPartial("~/Views/Shared/Header.ascx", "some value"); %>
В моем примере пользовательский элемент управления строго набран на string
, но вы могли бы использовать любой пользовательский тип.