سؤال

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

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

المحلول

نحن نستخدم مرشح الإجراء لهذا الغرض.

...

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var controller = (Controller) filterContext.Controller;
        Breadcrumb[] breadcrumbs = _breadcrumbManager.PushBreadcrumb(_breadcrumbLinkText);
        controller.ViewData.Add(breadcrumbs);
    }

قبل أن تذكر ذلك، أنا أيضًا لا أحب موقع الخدمة في سمات التصفية - ولكن لم يبق أمامنا سوى خيارات قليلة.يبدو IBreadcrumbManager كما يلي:

public interface IBreadcrumbManager
{
    Breadcrumb[] PushBreadcrumb(string linkText);
}

يضع التنفيذ كائنات Breadcrumb في الجلسة.عنوان URL هو HttpContext.Current.Request.RawUrl

نصائح أخرى

@ كريس:شيء من هذا القبيل:

        <% 
        foreach (var item in ViewData.Get<Breadcrumb[]>())
            {
        %>
                <a href="<%= Server.HtmlEncode(item.Url) %>"><%= item.LinkText %></a> &raquo;
        <% 
            } 
        %>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top