У вас есть несколько вариантов.
Создайте MVC View User Control и обработчик действий в вашем контроллере для представления. Для рендеринга вида используйте
<% Html.RenderPartial("MyControl") %>
В этом случае ваш обработчик действий должен будет передать данные модели в представление
public ActionResult MyControl ()
{
// get modelData
render View (modelData);
}
Другой вариант - передать данные модели с родительской страницы. В этом случае вам не нужен обработчик действия, а тип модели совпадает с родительским:
<% Html.RenderPartial("MyControl", ViewData.Model) %>
Если ваш пользовательский элемент управления имеет собственный тип данных, вы также можете создать его на странице
В MyControl.ascx.cs:
public class MyControlViewData
{
public string Name { get; set; }
public string Email { get; set; }
}
public partial class MyControl : System.Web.Mvc.ViewUserControl <MyControlViewData>
{
}
И на своей странице вы можете инициализировать модель данных вашего элемента управления:
<% Html.RenderPartial("MyControl", new MyControlViewData ()
{
Name= ViewData.Model.FirstName,
Email = ViewData.Model.Email,
});
%>