1

我的工作是在带有 Razor 的 MVC3 上,所以这是
我有一个编辑器模板的场景,其中有一个 Telerik DropDownList 控件。
我的要求是通过调用编辑器模板多次显示相同的 Telerik DropDownList

EditorFor(m=>m.Assignee.Options,"OptionsList")
EditorFor(m=>m.Assignee.Options,"OptionsList")

因此,如果我这样做,两个控件的样式都会正确呈现,但是 Telerik DDL 的“功能”会受到第二个控件的影响(它根本不会下降),第一个可以正常工作。

之后,我尝试使用其他一些控件(这里控件的工作也是基于 jQuery,就像 Teleriks 一样),我重复了上述场景。同样的结果。
第一个控件被渲染并正常工作,其余的重复控件坏了。
我发现问题在于编辑器模板中的控件使用的脚本(jQuery)。
我的问题是,是否可以在编辑器模板中使用基于 jQuery 的控件并使其在同一页面中多次工作?
如果是这样,我可以参考任何解决方案或链接吗?

4

1 回答 1

1

我认为这是由于您的 name 和 id 属性具有相同的值。

在您的编辑器模板中尝试使名称和 id 属性唯一。

@(Html.Telerik().DropDownList()
  .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))   //unique
  .HtmlAttributes(new { id = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty) + "_wrapper" })  //unique
  .SelectedIndex(...)
  .BindTo(...)
)
于 2012-06-07T17:15:53.970 回答