我正在使用Telerik自动填充选项
在标题中:
<script type="text/javascript">
function onAutoCompleteDataBinding(e) {
var autocomplete = $('#AutoComplete').data('tAutoComplete');
autocomplete.dataBind(["Product 1", "Product 2", "Product 3"]}
</script>
在视图的正文中:
<%=Html.Telerik().AutoComplete()
.Name("AutoComplete")
.ClientEvents(events => events.OnDataBinding("onAutoCompleteDataBinding"))
%>
http://demos.telerik.com/aspnet-mvc/combobox/clientsidebinding
我已经成功地将其用于其他应用程序,这非常简单。 我把这个例子贴在上面,表明这个也爆炸了:
this.trigger = new $t.list.trigger(this);
想想我可能混淆了.js文件,现在我的自动完成功能无效。 js文件的任何sugesions以及它们必须以什么顺序才能正常工作
我的页面主要相关部分:
<body>
<% Html.Telerik().ScriptRegistrar()
.DefaultGroup(group => group
.Add("MicrosoftAjax.js")
.Add("MicrosoftMvcAjax.js")
);
%>
<div class="MainTableBody">
<asp:ContentPlaceHolder ID="ContentPlaceHolder" runat="server" />
</div>
<% Html.Telerik().ScriptRegistrar().Render(); %>
</body>
</html>
在我的web.config
中<add namespace="Telerik.Web.Mvc.UI" />
非常感谢任何帮助或评论
答案 0 :(得分:2)
发现问题,
MVC 3小错误,您需要将所有命名空间放在web.config中,而不是将它们放在mvc中的视图中。
在我看来是这样的.master
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<%@ Import Namespace="Telerik.Web.Mvc.UI" %>
解决方案是,将其从主页面中取出并添加到您的web.config中,以便母版页只有:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
和web.config有:
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Telerik.Web.Mvc.UI" />
</namespaces>
</pages>
答案 1 :(得分:0)
我不太确定,但我认为没有加载telerik.list.js文件。检查是否加载了所需的javascript文件。这里is a help topic,显示每个组件所需的javascript文件。您可以使用 ViewSource ... 验证加载了哪些文件 浏览器的方法(例如FF)并查看页面的末尾。