كيفية بناء عناصر تحكم المستخدم ASP.NET MVC في مكتبات فئة

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

  •  20-08-2019
  •  | 
  •  

سؤال

وأنا أحاول أن بناء بعض .ascx يتحكم في مكتبة فئة الإضافات لCMS أنا بناء.

وبلدي نوع المشروع هو نموذجي C # الطبقة libary مع مراجع إضافية لsystem.web.mvc والأصدقاء.

ومشكلتي تنشأ في محاولة لإنشاء عنصر تحكم المستخدم كتابة بشدة. ارادتي تبدو مثل هذا:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TagCloudWidget.Models.TagCloudWidgetData>" %>

وعلى الرغم من أن لدي الطبقة العامة آخر في نفس المشروع تحت TagCloudWidget.Models مساحة الاسم، وأنا لا يمكن أن يبدو للحصول على ملف .ascx الاعتراف بهذا. لقد حاولت بما في ذلك Imports لمساحة الاسم، ولكن بعد ذلك يشكو فقط أن مساحة الاسم غير موجود. ملف فئة TagCloudData يبدو مثل هذا:

namespace TagCloudWidget.Models
{
public class TagCloudWidgetData
{
    public IList<TagCount> TagCounts { get; set; }
    public ContentTypes ContentType;
    public string Controller;
    public string Action;

    public TagCloudWidgetData(IList<TagCount> tagCounts, ContentTypes contentType, string controller, string action)
    {
        TagCounts = tagCounts;
        ContentType = contentType;
        Controller = controller;
        Action = action;
    }
}
}

هل ترى ما أفعله خطأ؟

ومنذ اقتراح أدناه، لقد حاولت إضافة ملف التعليمات البرمجية الخلفية. أعتقد أنني أقرب إلى معرفة ما هو الخطأ، ولكن ما زلت غير قادر على ايجاد حل. في المشروع، واضاف لقد يشير إلى System.Web وSystem.Web.Mvc. ولكن، في المقطع باستخدام ملف codebehind، عندما كنت اكتب "باستخدام نظام".، الإكمال التلقائي حتى لا تظهر System.Web أو System.Web.Mvc كما الخيارات المتاحة. انها مثل انهم فقط لا وجود لها على القرص. هي قادرة على إدراجها ومرجع لهم على ما يرام غيرها من المشاريع. اعتقد ان هذا هو مصدر المشكلة بلدي، لذلك أنا متفائل مرة واحدة هذا الرقم سوف بقية تندرج فقط في مكانها. أفكار؟

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

المحلول

ولقد كان لي مشاكل مماثلة مع أحد التطبيقات التي بدأت مع إصدار بيتا. الشيء الوحيد الذي كنت قد وجدت أن يعمل هو لإنشاء ملف التعليمات البرمجية الخلفية لمراقبة وتحديد الميراث في التعليمات البرمجية. ثم في السيطرة، ويكون ذلك ترث من الدرجة المحددة في التعليمات البرمجية الخلفية الخاصة بك. في المشاريع الجديدة، التي بنيت من الصفر باستخدام 1.0، وأنا لم يكن لديك هذه المشكلة - ولكن بعد ذلك مرة أخرى أنا لا أملك فئات جزئية محددة في مكتبة، إما

.

نصائح أخرى

والنجاح! بطريقة أو بأخرى، وكان ملف .ascx بلدي تم وضع علامة "محتوى" في خصائص الملف بدلا من "تجميع". مرة واحدة ثابتة، ويمكن الآن الرجوع إلى الجمعيات والحمل الضرورية / تشغيل البرنامج المساعد من دون مشاكل. شكرا لطرف على الملف codebehind!

و(تحديث) غيض الآخرين فكنت أحسب الليلة الماضية هو أن بلدي المساعد له أيضا أن يكون في الدليل / بن التطبيق فضلا عن بلدي الدليل / الحاجيات، وإلا أحصل على استثناء "تعذر تحميل نوع ..." . أنا لم ترد حتى الآن كيف سلك يصل ASP.NET MVC ذلك وليس لدي سوى أن يكون ذلك في 1 مكان، ولكن عندما أقوم به، وأنا ما بعد الظهر هنا.

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