用户控件怎么调用不了服务里的方法呢?下面是我的代码:<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AddArticle.ascx.cs" Inherits="UserControls_AddArticle" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td colspan="3" style="height: 20px;">
<div style="width: 100%;">
<span><font color="gray">(用户可根据职工姓名的</font><font color="#ff6600">首字母</font><font
color="gray">对职工进行筛选添加,也可以直接输入员工姓名进行添加)</font></span>
</div>
</td>
</tr>
<tr>
<td style="width: 150px;">
<span style="margin-left: 10px;"><b>请输入筛选条件:</b></span>
</td>
<td style="width: 300px;">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Width="300px" Height="20px" Font-Size="Small"></asp:TextBox>
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1"
MinimumPrefixLength="1" ServiceMethod="GetProductName" ScriptPath="WebService.asmx"
CompletionSetCount="10">
</cc1:AutoCompleteExtender>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td style="text-align: left; margin-left: 10px;">
<asp:Button runat="server" ID="btnAddUser" Text="添加" Width="60px" Height="20px" Font-Size="Small"
CausesValidation="false" OnClick="btnAddUser_Click" />
<asp:Button runat="server" ID="btnDeleteUser" Text="删除" Width="60px" Height="20px"
Font-Size="Small" CausesValidation="false" OnClick="btnDeleteUser_Click" />
</td>
</tr>
</table>WebService.asmx的代码using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Web.Script.Services;
/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[ScriptService]
public class WebService : System.Web.Services.WebService
{ public WebService()
{ //如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}[WebMethod]
[ScriptMethod]
public string[] GetProductName(string prefixText, int count)
{
if (count == 0)
{
count = 10;
} if (prefixText.EndsWith("xyx"))
{
return new string[0];
}
List<string> suggestions = new List<string>();//声明一泛型集合
SqlConnection con = new SqlConnection("server=0E69B6B998C74E2\\SQLSERVER2005;database=ComputerWebsite;uid=sa;pwd=123;");
con.Open();
SqlCommand com = new SqlCommand("SELECT trueName,userShowName,userSex,userMajor,userClass,userRoomNumber,userMoblie FROM WebUsersDetails JOIN WebUsers ON WebUsersDetails.userID=WebUsers.userID WHERE WebUsersDetails.trueName like '%" + prefixText + "%' or dbo.f_GetTp(WebUsersDetails.trueName) like '%" + prefixText + "%'", con);
//com.Parameters.Add("@prefixname", SqlDbType.NVarChar).Value = "% '" + prefixText + "' %";
SqlDataReader sdr = com.ExecuteReader();
//prefixText = "'%" + prefixText + "%'";
//DataTable data = CatalogAccess.GetUserUsername(prefixText);
//List<string> items = new List<string>(data.Rows.Count);
//for (int i = 0; i < data.Rows.Count; i++)
//{
// items.Add(data.Rows[i]["trueName"].ToString());
//}
//return items.ToArray(); while (sdr.Read())
{
suggestions.Add(sdr.GetString(0));
}
sdr.Close();
con.Close();
return suggestions.ToArray();
}
}
大家帮忙想想啊!这里是用户控件调用WebService.asmx服务的方法
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> <table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td colspan="3" style="height: 20px;">
<div style="width: 100%;">
<span><font color="gray">(用户可根据职工姓名的</font><font color="#ff6600">首字母</font><font
color="gray">对职工进行筛选添加,也可以直接输入员工姓名进行添加)</font></span>
</div>
</td>
</tr>
<tr>
<td style="width: 150px;">
<span style="margin-left: 10px;"><b>请输入筛选条件:</b></span>
</td>
<td style="width: 300px;">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" Width="300px" Height="20px" Font-Size="Small"></asp:TextBox>
<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="TextBox1"
MinimumPrefixLength="1" ServiceMethod="GetProductName" ScriptPath="WebService.asmx"
CompletionSetCount="10">
</cc1:AutoCompleteExtender>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td style="text-align: left; margin-left: 10px;">
<asp:Button runat="server" ID="btnAddUser" Text="添加" Width="60px" Height="20px" Font-Size="Small"
CausesValidation="false" OnClick="btnAddUser_Click" />
<asp:Button runat="server" ID="btnDeleteUser" Text="删除" Width="60px" Height="20px"
Font-Size="Small" CausesValidation="false" OnClick="btnDeleteUser_Click" />
</td>
</tr>
</table>WebService.asmx的代码using System.Web;
using System.Data;
using System.Collections.Generic;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Web.Script.Services;
/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[ScriptService]
public class WebService : System.Web.Services.WebService
{ public WebService()
{ //如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}[WebMethod]
[ScriptMethod]
public string[] GetProductName(string prefixText, int count)
{
if (count == 0)
{
count = 10;
} if (prefixText.EndsWith("xyx"))
{
return new string[0];
}
List<string> suggestions = new List<string>();//声明一泛型集合
SqlConnection con = new SqlConnection("server=0E69B6B998C74E2\\SQLSERVER2005;database=ComputerWebsite;uid=sa;pwd=123;");
con.Open();
SqlCommand com = new SqlCommand("SELECT trueName,userShowName,userSex,userMajor,userClass,userRoomNumber,userMoblie FROM WebUsersDetails JOIN WebUsers ON WebUsersDetails.userID=WebUsers.userID WHERE WebUsersDetails.trueName like '%" + prefixText + "%' or dbo.f_GetTp(WebUsersDetails.trueName) like '%" + prefixText + "%'", con);
//com.Parameters.Add("@prefixname", SqlDbType.NVarChar).Value = "% '" + prefixText + "' %";
SqlDataReader sdr = com.ExecuteReader();
//prefixText = "'%" + prefixText + "%'";
//DataTable data = CatalogAccess.GetUserUsername(prefixText);
//List<string> items = new List<string>(data.Rows.Count);
//for (int i = 0; i < data.Rows.Count; i++)
//{
// items.Add(data.Rows[i]["trueName"].ToString());
//}
//return items.ToArray(); while (sdr.Read())
{
suggestions.Add(sdr.GetString(0));
}
sdr.Close();
con.Close();
return suggestions.ToArray();
}
}
大家帮忙想想啊!这里是用户控件调用WebService.asmx服务的方法
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货