سؤال

أحتاج إلى بعض التفكير العقل الواضح لتقديم بعض الاقتراحات الجيدة كيف ينبغي أن يتم هذا النوع من الأشياء بأفضل ما لديه.

مشكلة

أنا أقوم ببناء تطبيق ASP.NET MVC. معظم آرائي لديها شريط أدوات في الأعلى. يمكن أن يحتوي شريط الأدوات على عدة عناصر مختلفة مثل:

  • أزرار
  • ملحوظات
  • عناصر التدفق (مساحة العرض الديناميكية المستخدمة لوضع بعض الأزرار على الجانب الأيمن الأقصى من شريط الأدوات)
  • إلخ.

للمتابعة مبدأ جاف لقد قمت بإنشاء مجموعة من المشاهدات الجزئية المشتركة (Toolbar, Toolbar.Button وما إلى ذلك) التي تجعل كائن شريط أدوات محدد مسبقا. هذه الآراء الجزئية بالطبع مكتوبة.

ثم لدي طرق عرض النوع القوي التي ترتبط نماذجها بالبيانات التي تعرضها. لكن لديهم في كثير من الأحيان شريط أدوات عليها أيضًا. لذلك قبل الاتصال Html.RenderPartial("Toolbar", toolbar) لا بد لي من إعداد هذا IList<ToolbarItemBase> قائمة الكائنات لتمريرها إليها.

المشكلة هي أنني أستعد لها في النظرة نفسها. قائمة كائن شريط الأدوات هذه هي نفسها دائمًا لصفحة معينة ومترجمة أيضًا. يحتوي عنصر زر شريط الأدوات أيضًا على ملف Url الخاصية التي تم تعيينها باستخدام url.action () المساعد ، مما يجعل من المستحيل ببساطة تخزين مثيلات شريط الأدوات التسلسلية في قاعدة بيانات. الشيء هو أن تعريفات شريط الأدوات هذه قد تصبح كبيرة حقًا (فكر في شريط Word وكمية العناصر الموجودة فيه)

سؤال

ماذا تقترح ، أين يجب أن أقوم بإنشاء مثيلات شريط الأدوات المترجمة دون تشوش رمز طرق العرض؟ نظرًا لأنهم لا يتغيرون على الإطلاق ، فقد يكونون على الأرجح ثابتًا ...

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

المحلول

سأفكر في استخدام مساعدي الإجراء/التحقيق في ASP.NET MVC 3.

في الأساس ، يتيح لك مساعد الإجراء إعداد "طلب الطفل" على إجراء وحدة تحكم يمكنه إنشاء نموذج وجعل طريقة عرض جزئية (وستقوم نتائج العرض الجزئي بالعرض الخارجي حيث تستخدم @html.action (. ..).

لذلك ... في السيناريو الخاص بك ، سيكون لديك إجراء وحدة تحكم مخصصة لبناء نموذج عرض شريط الأدوات ، وجعل شريط الأدوات جزئيًا. اتصل بهذا الإجراء باستخدام HTML.Action من عرض التخطيط أو المحتوى الذي يحتاج إلى شريط أدوات.

امل ان يساعد،

نصائح أخرى

قدم نموذجًا أساسيًا لجميع طرق العرض التي تدعم شريط الأدوات وإعداد بيانات شريط الأدوات هناك.

ملاحظة: من المحتمل أن أتخلى عن ذلك ، لكن هل فكرت في العودة إلى WebForms بدلاً من MVC؟ إذا كانت نيتك هي تقليد واجهة تطبيق سطح المكتب مع كل وظائفها وتعقيدها ، فقد لا تكون MVC الأداة المناسبة لك. باختصار ، MVC مخصصة لمواقع الويب ، WebForms مخصصة لتطبيقات الويب.

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