asp.net mvc - "إذا" تعتبر ضارة في ASP.NET مفك عرض ملفات(.aspx)؟




asp.net-mvc architecture (5)

أتذكر رؤية مدونة (أو شيء ما) قالت إنه يجب عدم استخدام <٪ إف ...٪> في ملفات .aspx في ASP.NET مفك، ولكن لا أستطيع أن أتذكر ما قالته البديل. يمكن لأي شخص يتذكر رؤية هذا ويشير لي إلى ذلك؟


أشعر أن ما يرام. انها تسمح للرأي أن يكون لها السيطرة على عرضه.


أظن أن هذه النقطة كانت محاولة لتجنب رمز السباغيتي بدلا من تقييد استخدام "إذا" ق، وهنا هو ارتباط إلى مدونة روب كونيري حول هذا، وقال انه في الواقع يذكر باستخدام المساعدين بدلا من إفس لذلك قد يكون هذا ما كنت رأى ASP.NET مفك: تجنب علامة الحساء


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

<h2 class="title">
    <% if (ViewData["category"] == null { %>
        All Products
    <% } else { % >
        <%= ViewData["category"] %>
    <% } %>
</h2>

يجب ان يكون:

<h2 class="title>
    <%= Model.Title %>
</h2>

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

<h2 class="title>
    <%= Html.GetPageTitle(Model.Category) %>
</h2>

كما أعتقد أن أفضل نهج لهذا هو محاولة التعامل مع الخاص بك إذا الشرط في وحدة تحكم وتمرير وجهة نظر محددة للنتيجة المطلوبة أو تمرير اسم عرض في متغير لتقديم.

public class HomeController :Controller
{
    public ActionResult Category(string? category)
    {
       View viewToReturn;
       if (category == null)
          viewToReturn = View("CategoryList", repo.GetAllCategory); /// it is a View
       else
          viewToReturn = View("Category", repo.GetCategory(category)); /// it is a View

       return viewToReturn;
    }
}

حسنا، مارتن الجواب هو أيضا من أفضل الممارسات.


هل هذه هي المشكلة التي تشير إليها؟

لا يمكن استخدام التعبيرات الملزمة في كتلة البيانات <٪٪>، كما لا يمكن استخدام العبارات في كتلة تعبير ملزمة <٪ #٪>

- بروس (sqlwork.com)

"جيسون" <> كتب في رسالة الأخبار: 23C11F83-A2AA-406D-بديك ​​-...

ما هو الخطأ في ما يلي إذا بيان في صفحة أسبكس بلدي؟

"T" ثم٪>

أحصل على خطأ يقول: BC30201: التعبير المتوقع.

بروس باركر





coding-style