سؤال

أملك _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 النصي. السيناريو هو في الواقع ليس تم تحميله وبسبب هذا منطق النموذج لا يعمل. إذا قمت بنقل ذلك headercontent القسم من _mailform.cshtml إلى SomePage.cshtml, ، كل شيء يعمل لأن MVC يقوم بتحميل البرنامج النصي.

ولكن كيفية تحميل هذا البرنامج النصي من الداخل _mailform.cshtml ملف؟

يعتبر

هل كانت مفيدة؟

المحلول

حسنًا ، سأعيد كتابة التعليق المكتوب هنا buildstarted, ، وهو الجواب في الواقع على سؤالي:

"هذا في الواقع حسب التصميم. يمكن للأقسام أن تملأ الوالد المباشر فقط. (...) إن أبسط طريقة [لحل المشكلة] هي الجمع بين كل جافا سكريبت في ملف واحد. هذا من شأنه أن يقل من الأفضل للمستخدم النهائي أن يتعين عليهم تحميل ملف JavaScript مرة واحدة فقط ... ومع ذلك ، فهذا ليس الحل الذي تبحث عنه. نظرًا لأن ملف SomePage.cshtml يحتوي في تلك الصفحة على ما يرام في الوقت الحالي. أيضًا ، لا بأس في وضع البرامج النصية في علامة الجسم. "

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top