Виджет jPlayer создан со статической ошибкой в ​​результате - PullRequest
2 голосов
/ 27 июня 2011

Я создал виджет с Сад . К сожалению, я дважды использовал один и тот же «Заголовок» для виджета jPlayer. Теперь я получаю сообщение об ошибке:

Ошибка сервера в приложении '/ wgk'. Последовательность содержит более одного элемента Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Exception Details: System.InvalidOperationException: Sequence contains more than one element

Source Error:

Line 2:  <fieldset>
Line 3:      <div>@Html.LabelFor(o => o.MediaGalleryName, @T("Media gallery"))</div>
Line 4:      @if(!Model.HasAvailableGalleries) {
Line 5:          <div>@T("You need first to create an media gallery on Media Gallery menu")</div>
Line 6:      }


Source File: x:\Intepub\wgk\Modules\Orchard.jPlayer\Views\EditorTemplates\Parts\MediaGallery.cshtml    Line: 4

Stack Trace:

[InvalidOperationException: Sequence contains more than one element]
   System.Linq.Enumerable.SingleOrDefault(IEnumerable`1 source) +4206966
   NHibernate.Linq.Visitors.ImmediateResultsVisitor`1.HandleSingleOrDefaultCall(MethodCallExpression call) +51
   NHibernate.Linq.Visitors.ImmediateResultsVisitor`1.VisitMethodCall(MethodCallExpression call) +411
   NHibernate.Linq.Visitors.ExpressionVisitor.Visit(Expression exp) +371

В MediaGallery.cshtml (находится в описании ошибки выше) написано:

@model Orchard.jPlayer.Models.MediaGalleryPart
<fieldset>
    <div>@Html.LabelFor(o => o.MediaGalleryName, @T("Media gallery"))</div>
    @if(!Model.HasAvailableGalleries) {
        <div>@T("You need first to create an media gallery on Media Gallery menu")</div>
    }
    else {
        <div>@Html.DropDownListFor(o => o.SelectedGallery, Model.AvailableGalleries)</div>

        <div>@Html.LabelFor(o => o.SelectedType, @T("Media gallery type"))</div>
        <div>@Html.DropDownListFor(o => o.SelectedType, Model.AvailableTypes)</div>
        <div>@Html.LabelFor(o => o.AutoPlay, @T("Auto play"))</div>
        <div>@Html.CheckBoxFor(o => o.AutoPlay)</div>
    }
</fieldset>

Моя проблема сейчас, я не могу найти или изменить виджет с двойным именем. Я хотел бы заменить его на другое имя. Но я не знаю, где это сделать.

Пожалуйста, совет.

* РЕШЕНИЕ *

Я удалил последнюю запись в базе данных (файл SDF). Я использовал этот инструмент Primeworks mobile . Теперь это работает на короткое время. После повторного редактирования записей в виджете jPlayer снова может возникнуть та же ошибка. jPlayer database orchard

Ответы [ 2 ]

2 голосов
/ 27 июня 2011

Попробуйте поискать во всех таблицах с именем Orchard_jPlayer_XXX .Один из них должен иметь дублирующее значение где-то.Например.столбец с именем Заголовок существует в Orchard_jPlayer_MediaGalleryMediaSettingsRecord - это хорошая отправная точка.

Если вы устанавливали свойство Title виджета - проверьте Orchard_Widgets_WidgetPartRecord Таблица также.Если это так, я думаю, вы найдете там дубликат.

HTH

0 голосов
/ 29 июня 2011

Что-то серьезно не так с этим виджетом, о котором нужно сообщить его автору (это вы?).Заголовок не должен использоваться как идентификатор.

...