كيفية تقديم عرض جزئي في ASP.NET MVC 2 باستخدام وحدة التحكم والعمل؟

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

  •  18-09-2019
  •  | 
  •  

سؤال

<body>
<div id="header">
<div class="title">SPORTS STORE</div>
</div>
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
<div id="content">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</body>

هذا هو نموذج التعليمات البرمجية من كتاب Steven Sandersons "Pro ASP.NET MVC Framework".

يعمل هذا الرمز مع MVC V1 و MVCContrib. ما تفعله، إنه يجعل "قائمة ()" عرض "NAV: Controller". نظرا لأن ASP.NET MVC V2 يشمل وظيفة جزئية () و REDREDSPARTIAL ()، حاولت تنفيذها، لكن هذا الرمز لا يعمل. حاولت تعديلها بعدة طرق، ولكن يبدو أنه لا توجد وظيفة زائدة تجعل طرق عرض جزئية، مع معلمات: 1) اسم وحدة تحكم 2) عرض الاسم

أنا متأكد من أنني لست أول شخص ينفذ العرض () بهذه الطريقة، لذلك يجب أن يكون هناك حل بديل. الرجاء المساعدة.

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

المحلول

لقد وجدت المشكلة. أقوم دائما بإزالة {Controller} / {action} وتخصيص جميع مساراتي مع بقية صغيرة مثل عناوين URL. ولكن بالنسبة ل HTML.Arenderaction، فمن الضروري أن يكون لديك هذا الطريق العام. أضفت هذا الطريق العام إلى نهاية قائمة طرقي وعمل. - مهدي 22 فبراير في 14:42

على الرغم من أنني ما زلت لا أفهم، كيف يعمل هذا بالضبط، فلماذا تمتص مسار المسئولية، وما هي قيود الطرق. ربما سأفعل بعض البحث في وقت لاحق.

نصائح أخرى

RenderAction في MVC2 (مستندات هنا). يبدو أنك قمت بتغيير التعليمات البرمجية الخاصة بك لاستخدامها RenderPartial بدلا من ذلك مختلف تماما. تغييره مرة أخرى للاستخدام RenderAction ويجب أن تكون على ما يرام. إذا لم يكن لديك في الإصدار الخاص بك، فربما تحتاج إلى التحديث إلى أحدث بيتا؟

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