Виджеты Sitefinity MVC не регистрируются
Надеюсь, кто-то может помочь мне с этим, потому что поддержка Sitefinity, похоже, зашла в тупик, и сообщество на странице G+ также, похоже, зашумлено.
У меня мертвый простой виджет MVC:
Контроллер [~/Mvc/Controllers/TestWidgetController.cs]:
using System.Web.Mvc;
using Telerik.Sitefinity.Mvc;
namespace SitefinityWebApp.Mvc.Controllers
{
[ControllerToolboxItem(Name="TestWidget", Title="Test widget", SectionName="Test section")]
public class TestWidgetController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
Модель [~/Mvc/Models/TestWidgetModel.cs]:
namespace SitefinityWebApp.Mvc.Models
{
public class TestWidgetModel
{
}
}
Просмотр [~/Mvc/Views/TestWidget/Index.cshtml]:
<p>Test</p>
Если я возьму контроллер, модель и представление и добавлю их в новый проект Sitefinity, а затем соберу этот проект, виджет будет автоматически зарегистрирован без проблем, и я смогу сразу его использовать.
Однако у меня есть один конкретный проект Sitefinity, в который я хочу добавить этот виджет, и этот проект при сборке не регистрирует виджет автоматически. Если я пытаюсь зарегистрировать виджет вручную, я получаю исключения NullReference. Как будто проект на самом деле не видит эти файлы как-то.
Кто-нибудь знает, что здесь может происходить? Я думаю, что простота виджета и тот факт, что он работает в новом проекте Sitefinity, указывает на то, что определенно что-то не так с настройкой этого конкретного проекта, но я не могу понять, в чем проблема.
Для чего стоит вот это Solution Explorer для проблемного проекта:
4 ответа
Вам нужно сказать, что контроллер возвращает страницу. В зависимости от каталога файлов это
Index.cshtml
Следовательно:
using System.Web.Mvc;
using Telerik.Sitefinity.Mvc;
namespace SitefinityWebApp.Mvc.Controllers
{
[ControllerToolboxItem(Name="TestWidget", Title="Test widget", SectionName="Test section")]
public class TestWidgetController : Controller
{
public ActionResult Index()
{
return View("Index");
}
}
}
Теперь возможно иметь виджет MVC в отдельной сборке, которая автоматически регистрируется на панели инструментов.
Проверьте этот документ для получения дополнительной информации
Не могли бы вы попробовать переименовать контроллер и его имя панели инструментов? Иногда Sitefinity работает забавно
Похоже, у вас возникла проблема с регистрацией виджетов в магазине контроллеров. Поскольку, скорее всего, эта проблема вызвана проблемами, связанными с этим конкретным проектом, настоятельно рекомендуется пойти и открыть заявку в систему поддержки Sitefinity. Таким образом, ваш проект может быть проверен более подробно, и будут рекомендованы наиболее подходящие действия.
Кроме того, не могли бы вы указать версию вашего проекта SItefinity? Это определенно поможет в расследовании проблемы.
Также есть файл журнала ошибок, который можно найти в ~\App_Data\Sitefinity\Logs. Проверьте и посмотрите, что там зарегистрировано. Это может дать представление о том, что является причиной проблемы и где искать возможные решения.
С Уважением,
Десислав