كيف يمكنك تنفيذ مساعد التنقل في asp.net mvc؟
-
09-06-2019 - |
سؤال
أعلم أنه يمكنك إنشاء مساعد بسهولة كبيرة في ضوء البيانات.لذا، إذا أمكن، يرجى إرسال الإجابات التي تتضمن أيضًا الحصول على البيانات فقط.
المحلول
نحن نستخدم مرشح الإجراء لهذا الغرض.
...
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> »
<%
}
%>
لا تنتمي إلى StackOverflow