الوصول إلى أساليب HTMLHelper داخل طريقة تمديد HTMLHelper - ASP.NET MVC RC2

StackOverflow https://stackoverflow.com/questions/652219

سؤال

أحاول بناء امتداد HTMLHelper في ASP.NET MVC RC2. عمل هذا الرمز بشكل جيد في معاينة 5 ، لكنه لم يعد يعمل في RC2 وأحاول أن أفهم السبب. هنا هو الرمز:

public static string EmptyDropDownList(this HtmlHelper htmlHelper, string name, object htmlAttributes)
{
    return htmlHelper.DropDownList(name, new SelectList(new string[0]), htmlAttributes);
}

المشكلة هي أنني غير قادر على الوصول إلى جميع الطرق على HTMLHelper من داخل طريقة التمديد. وبالتالي ، لا يمكن العثور على htmlhelper.dropdownlist.

أي اقتراحات؟

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

المحلول

تحتاج إلى تضمين مساحة اسم System.Web.Mvc.html لأن معظم أساليب HTMLHelper هي بالفعل امتدادات محددة في الفصول في مساحة الاسم.

يمكنك العثور على RC1 (ويفترض أن رمز مصدر RC2 قريبًا أيضًا) على www.codeplex.com/aspnet. انقر فوق علامة التبويب رمز المصدر وانتقل لأسفل إلى شجرة كود مصدر MVC.

نصائح أخرى

خيارين:

أ. أضف إلى صفحة مع "استخدام" وبالتالي مع صفحة عرض الحلاقة (MVC 3 و MVC 4) على سبيل المثال

    @using UrWeb.Helpers

أو

ب. أضف إلى قسم مساحات الأسماء الداخلية.

    <add namespace="UrWeb.Helpers"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top