【发布时间】:2015-05-22 12:49:18
【问题描述】:
需要从另一个下拉值绑定下拉值,网络方法不需要 即使在添加了网络参考后也会触发,没有显示任何错误。
我收到错误 *method 500。
我正在使用 Visual Studio,我将 asp.net 应用程序作为一个项目,将 Web 服务作为另一个项目。我在我的 asp.net 应用程序中使用 Web 服务。
我的 Web 服务代码存在某种问题。但我无法从 asp.net 应用程序连续调试到 Web 服务。
我在应用程序和 Web 服务中都设置了断点,但在 Web 服务中没有激活断点,它显示连接错误。
在 localhost 上托管时如何执行此操作?
my country.aspx 代码
<form id="form1" runat="server">
<ajax:ToolkitScriptManager EnablePageMethods="true" ID="tsmcascading" runat="server">
</ajax:ToolkitScriptManager>
<div>
<div>
<asp:DropDownList ID="ddlstate" runat="server" AutoPostBack="true">
</asp:DropDownList>
<ajax:CascadingDropDown ID="cddstate" runat="server" ServicePath="~/cascadingdropdown.asmx"
Category="stateid" ServiceMethod="addstate" TargetControlID="ddlstate" PromptText="select state"
LoadingText="Loading...">
</ajax:CascadingDropDown>
</div>
</div>
<div>
<div>
<asp:DropDownList ID="ddlcity" runat="server">
</asp:DropDownList>
<ajax:CascadingDropDown ID="CascadingDropDown1" runat="server" TargetControlID="ddlcity"
Category="stateid" ParentControlID="ddlstate" ServiceMethod="addcity" PromptText="select city"
ServicePath="~/cascadingdropdown.asmx" LoadingText="Loading...">
</ajax:CascadingDropDown>
</div>
</div>
</form>
我的网络服务代码 (.asmx)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using AjaxControlToolkit;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections.Specialized;
/// <summary>
/// Summary description for cascadingdropdown
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService()]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class cascadingdropdown : System.Web.Services.WebService
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["addcontact"].ToString());
public cascadingdropdown()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public CascadingDropDownNameValue[] addstate(string state, string city)
{
con.Open();
SqlCommand cmdstate = new SqlCommand("select stateid,statename from tblStates", con);
cmdstate.ExecuteNonQuery();
SqlDataAdapter dastate = new SqlDataAdapter(cmdstate);
DataSet dsstate = new DataSet();
dastate.Fill(dsstate);
con.Close();
List<CascadingDropDownNameValue> statesnames = new List<CascadingDropDownNameValue>();
foreach (DataRow dtrow in dsstate.Tables[0].Rows)
{
string stateid = dtrow["stateid"].ToString();
string statename = dtrow["statename"].ToString();
statesnames.Add(new CascadingDropDownNameValue(statename, stateid));
}
return statesnames.ToArray();
}
[WebMethod]
public CascadingDropDownNameValue[] addcity(string state, string city)
{
int stateid;
StringDictionary statedetails = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(state);
stateid = Convert.ToInt32(statedetails["state"]);
con.Open();
SqlCommand cmdcity = new SqlCommand("select cityid,stateid,cityname from tblcities where stateid=@stateid", con);
cmdcity.Parameters.AddWithValue("@stateid", stateid);
cmdcity.ExecuteNonQuery();
SqlDataAdapter dacity = new SqlDataAdapter(cmdcity);
DataSet dscity = new DataSet();
dacity.Fill(dscity);
con.Close();
List<CascadingDropDownNameValue> citynames = new List<CascadingDropDownNameValue>();
foreach (DataRow dtrow in dscity.Tables[0].Rows)
{
string cityid = dtrow["cityid"].ToString();
string cityname = dtrow["cityname"].ToString();
citynames.Add(new CascadingDropDownNameValue(cityid, cityname));
}
return citynames.ToArray();
}
}`
【问题讨论】:
标签: asp.net web-services c#-4.0 ajaxcontroltoolkit