【发布时间】: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