Вам не нужны файлы с выделенным кодом. Создайте модель для вашего PartialView (ViewUserControl) и привяжите ее к вашему элементу управления.
Смысл MVC заключается в том, чтобы держать элемент управления подальше от View, который должен быть тупым ... или, по крайней мере, неумным. Ваш контроллер должен передать объект, содержащий объект Model, в котором уже есть все, что нужно View.
Объявите вашу модель
public class MyModel
{
public IList<MyPartialView> Controls { get; set; }
}
public class MyPartialView
{
public string Field1 { get; set; }
public string Field2 { get; set; }
}
Создайте свое действие в вашем контроллере , передав MyModel
объект
public ActionResult Index()
{
MyModel model = new MyModel();
model.Controls.Add(new MyPartialView() { Field1 = "a", Field2 = "b" };
model.Controls.Add(new MyPartialView() { Field1 = "x", Field2 = "y" };
model.Controls.Add(new MyPartialView() { Field1 = "m", Field2 = "n" };
return View(model);
}
Создайте свой вид со строгим типом MyModel
<%@ Page Language="C#" Inherits="ViewPage<MyModel>" %>
<% foreach(MyOtherPartialView partial in Model.Controls) { %>
<%=Html.RenderPartial("MyPartialView", partial) %>
<% } %>
Создайте частичное представление , набранное MyPartialView
<%@ Control Language="C#" Inherits="ViewUserControl<MyPartialView>" %>
<div>
<%=Model.Field1 %> - <%=Model.Field2 %>
</div>