我的 _Layout.cshtml 作为我的MVC应用程序,其被示出如下所定义:

@inherits System.Web.Mvc.WebViewPage
@using Webdiyer.WebControls.Mvc;

<html xmlns="http://www.w3.org/1999/xhtml">
<head>   
    @RenderSection("HeaderContent", false)
</head>

<body> 
    @RenderBody() 
</body>
</html>

在页面的 SomePage.cshtml ,我已经包括了布局,还包括部分呈现建筑,因为我希望我的 _MailForm.cshtml 将在此呈现页:

@{
   View.Title = "page";
   Layout = "~/Views/Shared/_Layout.cshtml";
}

@Html.Partial("_MailForm")

我的 _MailForm.cshtml 以下文件长相:

@inherits System.Web.Mvc.WebViewPage<CMS.Models.Mail.MailModel>

@section HeaderContent
{
    <script src="@Url.Content("~/Scripts/mail.js")" type="text/javascript"></script>
}

<form>...</form>

HeaderContent 部分中的 _MailForm.cshtml 下,假设要被从的 _Layout.cshtml 并负载呈现的在mail.js <声明/ STRONG>脚本。该脚本实际上是不可以加载,因为我的形式逻辑是行不通的。如果我动议的 HeaderContent 从部分 _MailForm.cshtml SomePage.cshtml 后,一切正常,因为MVC负载脚本。

但如何从里面加载脚本 _MailForm.cshtml 文件?

此致

有帮助吗?

解决方案

好吧,我会在这里改写书面评论 @BuildStarted ,这实际上是回答我的问题:

“这实际上是由设计。该段只能填充直接父。(...)最简单的方法[解决问题]。将所有您的JavaScript合并成一个单一的文件。这将减少pageloads带宽,通常使之更好地为最终用户,因为他们必须加载javascript文件只有一次......然而,这不是解决方案,你要寻找的。由于SomePage.cshtml文件中有部分页面硬编码的我会说包括在该页面你所需的脚本是确定现在是这样。而且,这是确定把脚本body标签“。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top