Хорошо, поэтому для страницы редактирования категории я добавил пользовательскую вкладку в административной панели nopcommerce, поэтому я пытаюсь сделать то же самое для страницы редактирования производителя, но содержимое вкладки не отображается.
admin image
Вот код, который я использую:
using System.Web.Mvc;
using System.Web.Routing;
using Nop.Services.Events;
using Nop.Web.Framework.Events;
namespace Nop.Plugin.Widgets.Modifications.Events
{
/// <summary>
/// This class is used to detect when a Manufacturer is being edited in order to add a new tab for attachments.
/// </summary>
public class ManufacturerTabConsumer : IConsumer<AdminTabStripCreated>
{
public void HandleEvent(AdminTabStripCreated eventMessage)
{
if (eventMessage.TabStripName == "manufacturer-edit")
{
//Manufacturer Attachments tab
var manufacturerId = eventMessage.Helper.ViewContext.RequestContext.RouteData.Values["Id"];
var urlHelper = new UrlHelper(eventMessage.Helper.ViewContext.RequestContext)
.RouteUrl("Nop.Plugin.Widgets.Modifications.Admin.ManufacturerAttachments",
new RouteValueDictionary { { "manufacturerId", manufacturerId } });
eventMessage.BlocksToRender.Add(new MvcHtmlString("<script>" +
"$(document).ready(function() {" +
"var tabStrip = $('#manufacturer-edit').data('kendoTabStrip').append({" +
"text: 'Attachments'," +
"animation: { open: { effects: 'fadeIn'} }," +
"contentUrl: '" + urlHelper + "'" +
"});" +
"});" +
"</script>" +
"<style>.k-link {font-weight: bold;}</style>"));
}
}
}
}
Когда я устанавливаю точку останова и получаюк этому фрагменту кода он говорит мне, что var urlHelper имеет значение null, хотя я не уверен, почему.
var urlHelper = new UrlHelper(eventMessage.Helper.ViewContext.RequestContext)
.RouteUrl("Nop.Plugin.Widgets.Modifications.Admin.ManufacturerAttachments",
new RouteValueDictionary { { "manufacturerId", manufacturerId } });
Кто-нибудь знает, почему это может быть нулем?Спасибо.