【问题标题】:jPlayer widget created with static error as resultjPlayer 小部件创建时出现静态错误
【发布时间】:2011-09-23 03:20:52
【问题描述】:

我用Orchard 创建了一个widged。不幸的是,我两次为 jPlayer 小部件使用了相同的“标题”。现在我收到一个错误:

“/wgk”应用程序中的服务器错误。 序列包含多个元素 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

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 小部件中的条目后,它可能会再次出现相同的错误。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 razor orchardcms


    【解决方案1】:

    此小部件存在严重问题,应告知其作者(是您吗?)。 标题不应像标识符一样使用。

    【讨论】:

    • 我改了标题。我认为一切都很好。但是小部件上的相同名称会产生此错误。
    • 不,它没有。这让我很感兴趣,所以我试了一下,没有出错。还有别的东西,我怀疑它在小部件的代码中。尝试使用其他小部件,例如 HtmlWidget。如果您发现不涉及您的自定义小部件的复制品,请提交错误。
    【解决方案2】:

    尝试搜索所有名为 Orchard_jPlayer_XXX 的表。其中之一应该在某处具有重复值。例如。 Orchard_jPlayer_MediaGalleryMediaSettingsRecord 中存在名为 Title 的列 - 这是一个很好的起点。

    如果您要设置小部件的 Title 属性 - 还要检查 Orchard_Widgets_WidgetPartRecord 表。如果是这种情况,我猜你会在那里找到副本。

    HTH

    【讨论】:

    • 嗨 pszmyd,感谢您的建议。你走对了。但是如何打开“Orchard.sdf”数据库文件呢?
    • 这是一个 SQL Compact DB 文件。你可以打开它,例如。在 Visual Studio 2010 SP1 中(通过服务器资源管理器 - 添加新连接)或通过 WebMatrix - 在数据库窗格中。
    猜你喜欢
    • 2021-11-03
    • 2022-07-08
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2011-11-25
    • 2011-10-13
    相关资源
    最近更新 更多