【发布时间】:2012-09-06 14:15:19
【问题描述】:
我正在开发一个可视化 Web 部件,当用户在文本框中键入内容时(例如在 Google 搜索或 StackOverflow 中的问题标题中),我需要在其中列出匹配的数据。
我得到了很多结果,但它适用于典型的 c# 应用程序。我正在寻找一种可以直接在我的可视化 Web 部件中实现的解决方案。我正在使用 SharePoint 2010 和 VS 2010。
我做了以下事情
已安装 Ajax Control 工具包。 将项目添加到 VS 工具箱 并添加以下代码sn-p。
在 .ascx 文件中
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>
<asp:TextBox ID="txtMovie" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender
ID="AutoCompleteExtender1"
TargetControlID="txtMovie" ServiceMethod="GetCompletionList"
runat="server" UseContextKey="True" />
在 .ascx.cs 中
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static string GetCompletionList(string prefixText, int count, string contextKey)
{
return "Hello";
}
但是当我部署时,我得到了这个错误
只能将 ScriptManager 的一个实例添加到页面中。
我从我的 .ascx 文件中删除了 <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager>,但之后由于一些 js 错误,我无法编辑我的共享页面。
【问题讨论】:
-
你的问题太宽泛了。可能的建议的来源是什么 - 数据库表、SharePoint 列表、文件?此任务的哪一部分对您来说是个问题 - 从源中检索项目,在文本框下方显示一个列表?
-
您想使用网络服务来获取自动完成的数据吗?
-
需要从数据库表中获取数据。我使用过 Ajax ControlToolkit。但是当我在文本框中输入内容时,仍然没有任何反应。
-
您不能在用户控件中使用 WebMethod。
标签: ajax sharepoint sharepoint-2010 web-parts