我的工作是使用Razor进行MVC3,所以这就是场景
我有一个编辑模板,里面有一个Telerik DropDownList控件。
我的要求是通过调用
EditorFor(m=>m.Assignee.Options,"OptionsList")
EditorFor(m=>m.Assignee.Options,"OptionsList")
因此,如果我这样做,两个控件的样式都会正确呈现,但Telerik DDL的“功能”会受到第二个控件的影响(它根本不会下降),第一个可以正常工作。
之后,我尝试使用其他一些控件(这里控件的工作也基于jQuery,就像Teleriks一样),我重复了上面的场景。同样的结果。
第一个控制器被渲染并正常工作,其余的重复控制器断开了
我发现问题是编辑器模板中控件使用的脚本(jQuery)的becoz
我的问题是,是否可以在编辑器模板中使用基于jQuery的控件并使其在同一页面中多次工作?
如果是这样我可以参考的任何解决方案或链接?
答案 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(...)
)