【发布时间】:2014-05-27 03:32:24
【问题描述】:
我正在尝试在部分渲染中生成元标记。问题是我无法渲染一个部分。我尝试了网上提供的各种建议。下面是场景。
_Layout.cshtml
@RenderBody()
- 在部分渲染之外渲染主体
MainView.cshtml
@{
Layout = "/Views/News/Shared/_Layout.cshtml";
}
- 有部分效果图
显示.cshtml - 内部有部分渲染图和 HTML - 还包含我需要在 _Layout 中提供的元数据代码
以下是我尝试过的: 场景一: 显示.cshtml
{
@section main
{...}
}
MainView.cshtml
{
@section main
{
@RenderSection("main", false)
}
}
_Layout.cshtml
{
@RenderSection("main", false)
}
结果:MainView抛出异常... asp.net mvc不能直接请求,因为它调用了“RenderSection”方法。
场景 2: - 尝试使用 ViewBag 在视图之间交换数据。
@ViewBag.PropertyName = "test value";
结果:@ViewBag.PropertyName 中没有值
场景 3:(这很令人沮丧) - _Layout.cshtml
@section main
{
<div>this is it!!</div>
}
@RenderSection("main", false);
结果:错误.....未定义“main”部分。
在我开始讨论这个问题之前,我对视图/部分视图(非常笼统)没有很好的理解。在这方面工作,我进一步了解了 @RenderPage() @RenderSection() 而且当然 @Html.Partial()
到目前为止,我浏览过的任何基本内容都没有对我有用。有什么我错过的吗?或者有没有我误解的视图之间的父/子关系的任何细节?
任何指向正确方向的指针都会有很大帮助。 :)
干杯!!
【问题讨论】:
标签: asp.net-mvc razor rendering sitecore asp.net-mvc-partialview