ASP.NET MVC部分呈現的問題,我有_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>
在_MailForm.cshtml聲明的HeaderContent部分,假設從_Layout.cshtml和負載在mail.js腳本渲染。該腳本實際上是而不是加載,因爲我的表單邏輯不起作用。如果我將標題內容部分從_MailForm.cshtml改爲SomePage.cshtml,一切正常,因爲mvc加載腳本。
但如何從_MailForm.cshtml文件中加載該腳本?
問候
這實際上是通過設計,這些部分只能填充直接的父母......我也遇到了同樣的問題, – Buildstarted 2010-10-29 22:14:02
是否有任何解決方法那麼,或者一些不同的方法來解決這個問題?移動該部分以指導其父母的父母是唯一的解決方案? – jwaliszko 2010-10-30 09:44:39
那麼,最簡單的方法是將所有的JavaScript合併成一個文件,這將減少頁面加載帶寬和通常使最終用戶更好,因爲他們只需要加載一次JavaScript文件一次...但是這不是您要查找的解決方案。由於'SomePage.cshtml'文件具有硬編碼的部分頁面,我會說包括您在該頁面中所需的腳本現在可以正常使用,並且可以將腳本放在body標籤中。 – Buildstarted 2010-11-01 17:20:55