我有这样的ActionResult:
[EncryptedActionParameter]
[CheckExternalUserRegisterSigned]
public ActionResult ExpedienteIIT(int idExpediente)
{
ExpedienteContainerVM model = this.GetExpedienteVMByIdExpediente(idExpediente);
return View("ExpedienteIIT", model);
}
ExpedientIIT查看: https://jsfiddle.net/pq16Lr4q/
_Layout.cshtml: https://jsfiddle.net/1ksvav43/
所以,当我回来的观点,我得到这个错误:
我试图把console.logs,看看如果视图渲染,但不会呈现......
好吧错误是在这里:
@model PortalSOCI.WEB.ViewModels.IIT.ExpedienteContainerVM
@{
ViewBag.Title = String.Format(PortalSOCI.WEB.Resources.ExpedienteIIT.TituloExpedienteIIT, Model.Expediente.NumeroExpediente);
}
@section JavaScript /// <-------------------- ERROR
{
@Html.Raw(ViewBag.message)
@
你能帮我么。
编辑:阅读你的代码后,我觉得自己像
@RenderSection("scripts", required: false)
应该
@RenderSection("JavaScript", required: false)
我认为会给你麻烦的另一件事是,你定义在你的身上“JavaScript”部分中的事实。 这意味着,如果你的任何意见,你忘了补充一点,
@section JavaScript
{
@Html.Raw(ViewBag.message)
}
你会得到一个Section JavaScript not defined
错误。 在你的情况,感觉就像节的定义应该是在_layout.cshtml
。
这个错误很可能意味着您已经定义JavaScript部分,但没有任何地方呈现它。 你需要调用@RenderSection("JavaScript")
某处你layout.cshtml
该
@section JavaScript
{
}
将让你创建一个名为“JavaScript”部分中,但实际上是“打印”这一节的内容,以输出HTML文件(将被发送到客户端),你需要调用@RenderSection("JavaScript")
该部分的内容将被打印在何处的呼叫RenderSection
位于。
你需要把缺少的部分你的内部ExpedienteIIT
视图。 根据错误信息,即缺失部分是JavaScript
。
代码示例,把这个在您的视图底部:
@section JavaScript
{
// put javascript here
}
编辑:
感谢您提供您的观看次数的代码示例。 有之间如何在布局网页JavaScript部分的定义以及它是如何被包含在您的视图不匹配。
为了解决这个问题,请执行下列之一:
- 在你
_Layout
页,更改@RenderSection("scripts", required: false)
以@RenderSection("JavaScript", required: false)
,OR - 在你
ExpedienteIIT
查看,更改@section JavaScript
来@section scripts
最重要的是,这两个应该匹配。
文章来源: The following sections have been defined but have not been rendered for the layout page “~/Views/Shared/_Layout.cshtml”