Frage

Ich habe _Layout.cshtml definiert für meine MVC-Anwendung, die im Folgenden dargestellt:

@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>

Auf der Seite SomePage.cshtml , ich habe das Layout enthalten sind, und auch die teilweise Rendering Konstruktion einbezogen, weil ich möchte, dass meine _MailForm.cshtml auf diese zu erbringenden Seite:

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

@Html.Partial("_MailForm")

Sie _MailForm.cshtml Datei sieht folgendermaßen vor:

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

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

<form>...</form>

Die headercontent deklariert in _MailForm.cshtml , nehme von _Layout.cshtml und Last mail.js Skript. Das Skript ist eigentlich nicht geladen und aus diesem Grunde meine Form Logik funktioniert nicht. Wenn ich das bewegen headercontent _MailForm.cshtml SomePage.cshtml , alles funktioniert, weil mvc lädt das Skript.

Aber wie das Skript von innen laden _MailForm.cshtml Datei?

Viele Grüße

War es hilfreich?

Lösung

Ok, ich werde hier umschreiben den Kommentar geschrieben von @BuildStarted , die eigentlich für meine Frage beantworten:

"Dies ist eigentlich beabsichtigt. Die Abschnitte nur die direkt Eltern bevölkern können. (...) die einfachste Methode [das Problem zu lösen] wäre, um alle Ihre Javascript in eine einzige Datei zu kombinieren. Das würde verringern Seitenzugriffe Bandbreite und besser macht es in der Regel für den Endverbraucher, da sie nur einmal eine Javascript-Datei geladen hat ... aber das ist nicht die Lösung, die Sie suchen. da die SomePage.cshtml Datei, um die Teilseite hartcodiert I hat würde sagen, dass Ihre gewünschte Skript in der Seite auch für jetzt in Ordnung ist. auch OK, es ist Skripte im Body-Tag zu setzen. "

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top