Domanda

ho _Layout.cshtml definito per la mia applicazione MVC, che riportiamo di seguito:

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

Nella pagina SomePage.cshtml , ho incluso il layout, e comprendeva anche la costruzione rendering parziale, perché voglio che il mio _MailForm.cshtml per essere inviato a questo pagina:

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

@Html.Partial("_MailForm")

Il mio _MailForm.cshtml sguardi di file seguenti:

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

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

<form>...</form>

Il HeaderContent ha dichiarato in _MailForm.cshtml , supponiamo di essere reso da _Layout.cshtml e carico mail.js script. Lo script è in realtà non carica e per questo motivo la mia logica modulo non funziona. Se mi muovo che HeaderContent dal _MailForm.cshtml a SomePage.cshtml , tutto funziona a causa di carichi MVC lo script.

Ma come caricare lo script dall'interno _MailForm.cshtml file?

Saluti

È stato utile?

Soluzione

Ok, lo riscrivo qui il commento scritto da @BuildStarted , che è in realtà a rispondere per la mia domanda:

"Questo è in realtà di progettazione. Le sezioni possono compilare solo la controllante diretta. (...) il metodo più semplice [per risolvere il problema] potrebbe essere quella di combinare tutti i vostri javascript in un unico file. Questo sarebbe diminuire pageloads larghezza di banda e generalmente renderla migliore per l'utente finale in quanto hanno per caricare un file javascript solo una volta ..., tuttavia, che non è la soluzione che stanno cercando. Poiché il file SomePage.cshtml ha la pagina parziale hard-coded I direbbe compreso lo script richiesto in quella pagina è ok per ora. Inoltre, è ok per mettere gli script nel tag corpo ".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top