我想利用AutoCompleteExtender控件+WebService实现自动完成功能,但不知为什么总是不能达到效果,在TextBox控件中输入文字时,界面上没有任何反应;程序调试中在WebService方法中设置了一个断点,发现总运行不到WebService中去。
麻烦各位帮我检查一下,谢拉,在线等……代码如下:
Web页面前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="AutoComplete.WebForm1" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
</head><body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager >
<asp:textbox ID="tb_Test" runat="server"></asp:textbox>
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
TargetControlID="tb_Test"
MinimumPrefixLength="1" ServicePath="WebService1.asmx"
ServiceMethod="GetList">
</cc1:AutoCompleteExtender>
</div>
</form>
</body>
</html> WebService代码:
using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Web.Script.Services;namespace AutoComplete
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService()]
[ToolboxItem(false)]
public class WebService1 : System.Web.Services.WebService
{ [WebMethod]
public string HelloWorld()
{
return "Hello World";
} [WebMethod]
[ScriptMethod]
public string[] GetList(string prefixText)
{
return new string[] { "刘备, 刘禅, 刘璋, 刘表" };
}
}
}
麻烦各位帮我检查一下,谢拉,在线等……代码如下:
Web页面前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="AutoComplete.WebForm1" %><%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
</head><body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager >
<asp:textbox ID="tb_Test" runat="server"></asp:textbox>
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
TargetControlID="tb_Test"
MinimumPrefixLength="1" ServicePath="WebService1.asmx"
ServiceMethod="GetList">
</cc1:AutoCompleteExtender>
</div>
</form>
</body>
</html> WebService代码:
using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Web.Script.Services;namespace AutoComplete
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService()]
[ToolboxItem(false)]
public class WebService1 : System.Web.Services.WebService
{ [WebMethod]
public string HelloWorld()
{
return "Hello World";
} [WebMethod]
[ScriptMethod]
public string[] GetList(string prefixText)
{
return new string[] { "刘备, 刘禅, 刘璋, 刘表" };
}
}
}
</asp:ScriptManager >加上这个属性试试
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false"
配置文件中加这个
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> </httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/> </httpHandlers>
</asp:ScriptManager>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" ServiceMethod="auto"
ServicePath="ws.asmx" TargetControlID="TextBox1" CompletionInterval="100" MinimumPrefixLength="1">
</cc1:AutoCompleteExtender>[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web .Script .Services.ScriptService]
public class ws : System.Web.Services.WebService { public ws () { //如果使用设计的组件,请取消注释以下行
//InitializeComponent();
} [WebMethod]
public string[] auto(string prefixText,int count)
{
string[] tmp = new string[count];
tmp[0] = "qwer";
tmp[1] = "asdf";
tmp[2] = "erty";
tmp[3] = "zxcv";
tmp[4] = "sdff";
tmp[5] = "kjjk";
tmp[6] = "asddfs";
tmp[7] = "345h";
tmp[8] = "tyi";
tmp[0] = "7897";
return tmp;
}
<cc1:AutoCompleteExtender
runat="server"
ID="AutoCompleteExtender1"
TargetControlID="TB_STD_i"
ServicePath="STDPersueAutoCom.asmx"
ServiceMethod="GetBZDH"
MinimumPrefixLength="1"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
CompletionListCssClass="autocomplete_completionListElement"
CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"/>
我换成楼主的代码就调用不了,改回来就行了,除了3个新加的样式,我硬是没有找到区别来
我也困惑了
lz这句好像 没加吧!