我找到了很多关于这个主题的问题和答案,但没有详尽无遗。
我需要一个简单的局部视图来获取一个int参数,将它传递给它的查询db的控制器并获取记录的全部细节并将其传递给view进行渲染。
该视图还必须有一个按钮,用于为用户生成报告(通过iTextSharp)
我需要在很多页面中使用这个局部视图。
这是我实际部分视图控制器的一部分
Public class TitleBarController : Controller
{
private IUnitOfWork uow;
// GET: MVC/TitleBar
public ActionResult Index(int idAttivita)
{
TitleBarViewModel tbVM = Mapper.Map<Attivita, TitleBarViewModel>(uow.Attivita.Read(idAttivita));
return View(tbVM);
}
public TitleBarController(IUnitOfWork uow)
{
this.uow = uow;
}
}
这是我在主视图中插入局部视图的方式:
@Html.Partial("_TitleBarView", new ViewDataDictionary { { "idAttivita", 1 } });)
这是局部视图的第一部分:
@model ProgettoAttivitaUI.Areas.MVC.Controllers.Shared.TitleBar.TitleBarViewModel
<div>
<h4>Prova</h4>
<hr />
<dl class="dl-horizontal">
<dt>
Codice attività
</dt>
<dd>
@Html.DisplayFor(model => model.IdAttivita)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Descrizione)
</dt>
<dd>
@Html.DisplayFor(model => model.Descrizione)
</dd>
</dl>
</div>
但当我打开他的主视图时,部分视图被渲染但没有数据,调试它我看到它的控制器构造函数和索引方法不会触发