与Telerik控件多次调用相同的编辑器模板时出现问题

时间:2012-06-07 09:47:10

标签: jquery asp.net-mvc-3 telerik-mvc mvc-editor-templates

我的工作是使用Razor进行MVC3,所以这就是场景 我有一个编辑模板,里面有一个Telerik DropDownList控件。
我的要求是通过调用

从编辑模板中多次显示相同的Telerik DropDownList。
EditorFor(m=>m.Assignee.Options,"OptionsList")
EditorFor(m=>m.Assignee.Options,"OptionsList")

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

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

1 个答案:

答案 0 :(得分:1)

我认为这是由于你的名字和id属性具有相同的值。

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

@(Html.Telerik().DropDownList()
  .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))   //unique
  .HtmlAttributes(new { id = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty) + "_wrapper" })  //unique
  .SelectedIndex(...)
  .BindTo(...)
)