在asp MVC中使用它的控制器可重用的局部视图

时间:2016-05-18 08:22:00

标签: c# asp.net-mvc partial-views

我找到了很多关于这个主题的问题和答案,但没有详尽无遗。

我需要一个简单的局部视图来获取一个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>

但当我打开他的主视图时,部分视图被渲染但没有数据,调试它我看到它的控制器构造函数和索引方法不会触发

0 个答案:

没有答案