Если я правильно вас понимаю, вам нужно создать частичное представление и вызвать его с помощью действия в вашем контроллере.
Сначала сделайте что-то подобное в вашем контроллере
// partial
public ActionResult report(string reportName)
{
return View(reportModel.Name);
}
Затем убедитесь, что есть частичное представление, которое разделяет имя вашего отчета.
Затем вы можете вызвать частичное представление следующим образом:
@{Html.RenderAction("report", "Home", new{ reportName="report" });}
В строке выше будет отображено частичное представление Report.cshtml
в родительском представлении или основном макете.
edit
Ok.поэтому в каждом отчете есть список пар имя-значение, верно?
Предполагая, что мы можем написать действие, которое передает этот список в ваше представление.
public ActionResult DisplayPairs()
{
NameValueCollection pairs = new System.Collections.Specialized.NameValueCollection();
pairs.Add("Name", "Value");
pairs.Add("Name2", "Value2");
pairs.Add("Name3", "Value3");
pairs.Add("Name4", "Value4");
return View(pairs);
}
Тогда у нас будет представление DisplayPairs:
@model System.Collections.Specialized.NameValueCollection
@{
ViewBag.Title = "DisplayPairs";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>DisplayPairs</h2>
<table>
@foreach(string key in Model.AllKeys){
<tr><th>@key</th><td>@Model[key]</td></tr>
}
</table>
Который отображает:
Name Value
Name2 Value2
Name3 Value3
Name4 Value4
Надеюсь, это поможет