Pergunta

Eu tenho _Layout.cshtml definido para o meu aplicativo MVC, que é mostrado abaixo:

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

Na página Somepage.cshtml, Eu incluí o layout e também incluí a construção parcial de renderização, porque eu quero meu _Mailform.cshtml a ser renderizado nesta página:

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

@Html.Partial("_MailForm")

Meu _Mailform.cshtml Looks de arquivo seguintes:

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

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

<form>...</form>

o Headecontent Seção declarada em _Mailform.cshtml, suponha que seja renderizado de _Layout.cshtml e carregar Mail.js roteiro. O script é realmente não Carregado e, por isso, minha lógica de formulário não está funcionando. Se eu mover isso Headecontent seção de _Mailform.cshtml para Somepage.cshtml, tudo funciona porque o MVC carrega o script.

Mas como carregar esse script de dentro _Mailform.cshtml Arquivo?

Cumprimentos

Foi útil?

Solução

Ok, vou reescrever aqui o comentário escrito por @Buildstarted, que é realmente resposta para minha pergunta:

"Isso é realmente por design. As seções só podem preencher o pai direto. (...) O método mais simples [para resolver o problema] seria combinar todo o seu JavaScript em um único arquivo. Isso diminuiria a largura de banda dos pagéticos e geralmente faria É melhor para o usuário final, pois eles precisam carregar um arquivo JavaScript apenas uma vez ... no entanto, essa não é a solução que você está procurando. Desde que o arquivo algumPage.cshtml tem a página parcial codificada, eu diria, incluindo o script necessário Nessa página está ok por enquanto. Além disso, não há problema em colocar scripts na etiqueta corporal. "

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top