C# 以下部分已定义,但尚未呈现在布局页面“~/Views/Shared/_Layout.cshtml”;
我有一个行动结果:C# 以下部分已定义,但尚未呈现在布局页面“~/Views/Shared/_Layout.cshtml”;,c#,asp.net-mvc-4,razor,C#,Asp.net Mvc 4,Razor,我有一个行动结果: [EncryptedActionParameter] [CheckExternalUserRegisterSigned] public ActionResult ExpedienteIIT(int idExpediente) { ExpedienteContainerVM model = this.GetExpedienteVMByIdExpediente(idExpediente); return View("ExpedienteIIT", model);
[EncryptedActionParameter]
[CheckExternalUserRegisterSigned]
public ActionResult ExpedienteIIT(int idExpediente)
{
ExpedienteContainerVM model = this.GetExpedienteVMByIdExpediente(idExpediente);
return View("ExpedienteIIT", model);
}
权宜之计观点:
_Layout.cshtml:
因此,当我返回视图时,出现以下错误:
我尝试放置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)
@
@model PortalSOCI.WEB.ViewModels.IIT.enquipmeteContainervm
@{
ViewBag.Title=String.Format(PortalSOCI.WEB.Resources.enventiit.tituloEnventiit,Model.enventile.numerioExpedient);
}
@节JavaScript//您需要将缺少的节放入视图中。根据错误消息,缺少的部分是JavaScript
代码示例,将其放在视图的底部:
@section JavaScript
{
// put javascript here
}
编辑:
感谢您提供视图的代码示例。布局页面中JavaScript部分的定义方式与视图中JavaScript部分的包含方式不匹配
要解决此问题,请执行以下任一操作:
- 在
\u布局
页面中,将@RenderSection(“脚本”,必填项:false)
更改为@RenderSection(“JavaScript”,必填项:false)
,或
- 在
it
视图中,将@sectionjavascript
更改为@sectionscripts
重要的是两者应该匹配。您需要将缺少的部分放在视图中。根据错误消息,缺少的部分是JavaScript
代码示例,将其放在视图的底部:
@section JavaScript
{
// put javascript here
}
编辑:
感谢您提供视图的代码示例。布局页面中JavaScript部分的定义方式与视图中JavaScript部分的包含方式不匹配
要解决此问题,请执行以下任一操作:
- 在
\u布局
页面中,将@RenderSection(“脚本”,必填项:false)
更改为@RenderSection(“JavaScript”,必填项:false)
,或
- 在
it
视图中,将@sectionjavascript
更改为@sectionscripts
重要的是两者应该匹配。编辑:
读了你的代码后,我觉得
@RenderSection("scripts", required: false)
应该是
@RenderSection("JavaScript", required: false)
另一件我认为会给您带来麻烦的事情是,您在主体中定义了“JavaScript”部分。这意味着,如果您的任何视图都忘记添加它
@section JavaScript
{
@Html.Raw(ViewBag.message)
}
您将得到一个节JavaScript not defined
错误。在您的情况下,感觉节的定义应该在\u layout.cshtml
中
此错误很可能意味着您已经定义了JavaScript部分,但没有在任何地方呈现它。
您需要在layout.cshtml中的某个地方调用@RenderSection(“JavaScript”)
将允许您创建一个名为“JavaScript”的节,但要将此节的内容“打印”到输出HTML文件(将发送到客户端),您需要调用@RenderSection(“JavaScript”)
。该部分的内容将打印在调用RenderSection
的位置。编辑:
读了你的代码后,我觉得
@RenderSection("scripts", required: false)
应该是
@RenderSection("JavaScript", required: false)
另一件我认为会给您带来麻烦的事情是,您在主体中定义了“JavaScript”部分。这意味着,如果您的任何视图都忘记添加它
@section JavaScript
{
@Html.Raw(ViewBag.message)
}
您将得到一个节JavaScript not defined
错误。在您的情况下,感觉节的定义应该在\u layout.cshtml
中
此错误很可能意味着您已经定义了JavaScript部分,但没有在任何地方呈现它。
您需要在layout.cshtml中的某个地方调用@RenderSection(“JavaScript”)
将允许您创建一个名为“JavaScript”的节,但要将此节的内容“打印”到输出HTML文件(将发送到客户端),您需要调用@RenderSection(“JavaScript”)
。该部分的内容将打印在调用RenderSection
的位置。您能否向我们展示您的Layout.cshtml
和conventiit.cshtml
?这么长的文件…:(你可以去掉所有不相关的东西。试试OJ Raqueño的答案或我的答案。如果不起作用,试着提供文件(即使它们很长)好的,给我一个话题,但是,我有点困惑你为什么这么做?JavaScript部分{Html.Raw(ViewBag.message)}为什么你的javascript代码包含在ViewBag中?你能给我们更多关于你缩进该javascript部分的信息吗?你能给我们看看你的Layout.cshtml
和conventiit.cshtml
?这么长的文件…:(你可以去掉所有不相关的东西。试试OJ Raqueño的答案或我的答案。如果不起作用,试着提供文件(即使它们很长)好的,给我一个话题,但是,我有点困惑你为什么这么做?JavaScript部分{Html.Raw(ViewBag.message)}为什么你的javascript代码包含在ViewBag中?你能给我们更多关于你缩进该javascript节的信息吗?我以为你的代码会定义该节,不是吗?我误解了什么吗?我以为你的代码会定义该节,不是吗?我误解了什么吗?你的意思是_ayout.cshtml?我误解了,并且没有t定义:“JavaScript”。:在定义了节之后,你调用了它,对吗?你是说_ayout.cshtml?我定义了,而节没有定义:“JavaScript”。:在定义了节之后,你调用了它,对吗?