Asp.Net مفك رمي الخطأ عند إضافة المجلد 'أب_كود'
-
12-12-2019 - |
سؤال
اليوم ، وجدت ميزة لطيفة جدا تعطيني القدرة على إضافة مساعد كشمل.لتكون قادرة على القيام بذلك ، يجب أن أضع ملف كشمل في مجلد باسم 'أب_كود' ثم إضافة إلى رمز يشبه ذلك:
@using System.Security.Policy
@helper jQuery(){
if (System.Diagnostics.Debugger.IsAttached)
{
<script src="@Url.Content("~/Scripts/JQuery/jquery-1.7.2.js")" type="text/javascript"></script>
}
else
{
<script src="@Url.Content("~/Scripts/JQuery/jquery-1.7.2.min.js")" type="text/javascript"></script>
}
}
المشكلة هي على الفور بعد إضافة هذا المجلد مع ملف واحد فقط ، عندما أحاول الوصول إلى الصفحة في المتصفح ، أتلقى خطأ في الخادم.
"الشبكةالخطأ:500 خطأ في الخادم الداخلي - http://localhost / [ميناء]...
لدي بالفعل رمز في مجلدات أخرى من مشروعي.
يجب أن يكون لنقل كل ما عندي من التعليمات البرمجية في مجلد 'أب_كود' أو هل هناك أي خدعة للحفاظ على هيكل بلدي القائمة ولكن مع هذا المجلد الجديد' أب_كود'?
يعطيكم الصّحة.
المحلول
لا يمكنك استخدام المساعدين داخل المساعد بحيث لا تكون مفيدة كما كنت قد فكرت في البداية: -)
أشياء مثل Html
و Url
لا وجود لها داخل تلك الوظائف المساعد.لذلك إذا كنت بحاجة إلى استخدامها ، فسيتعين عليك تمريرها كمعلمات:
@using System.Web.Mvc
@using System.Security.Policy
@helper jQuery(UrlHelper urlHelper)
{
if (System.Diagnostics.Debugger.IsAttached)
{
<script src="@urlHelper.Content("~/Scripts/JQuery/jquery-1.7.2.js")" type="text/javascript"></script>
}
else
{
<script src="@urlHelper.Content("~/Scripts/JQuery/jquery-1.7.2.min.js")" type="text/javascript"></script>
}
}
وعند استدعاء تمرير مثيل أورلهيلبر الحالي لذلك:
@Foo.jQuery(Url)