我的ajax级联下拉列表中的方法错误500 [英] method error 500 in my ajax cascading dropdown list

查看:63
本文介绍了我的ajax级联下拉列表中的方法错误500的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在.aspx中的代码

 <   asp:内容    ID   =  Content2    ContentPlaceHolderID   =  ContentPlaceHolder1    runat   =  server  >  


< asp:DropDownList id = dropcity runat = server AutoPostBack = < span class =code-keyword> true class = ddl style = width:210px;高度:30PX; background-color:#40E0D0 > < / asp:DropDownList >

< cc1:CascadingDropDown ID = dropcitycc TargetControlID = dropcity PromptText = 选择城市

< span class =code-attribute> PromptValue = < span class =code-attribute> runat = server

类别 = dropcity ServicePath = 〜/ DropDownCasCad.asmx ServiceMethod = GetData LoadingText = 正在加载。 .. / >

< asp:DropDownList id = dropmovie runat = < span class =code-keyword> server class = ddl style = width:210px;高度:30PX; background-color:#40E0D0 > < / asp:DropDownList >
< cc1:CascadingDropDown ID = dropmoviecc TargetControlID = dropmovie PromptText = 选择电影

PromptValue < span class =code-keyword> = runat = 服务器

类别 = dropmovie LoadingText = 正在加载... ServicePath = 〜/ DropDownCasCad。 asmx ServiceMethod = GetData ParentControlID = < span class =code-keyword> dropcity / >

< asp:DropDownList id = dropdate runat = 服务器 class = ddl style = width:210px;高度:30PX; background-color:#40E0D0 > < / asp:DropDownList >
< cc1:CascadingDropDown ID = dropdatecc TargetControlID = dropdate PromptText = 选择日期

< span class =code-attribute> PromptValue = runat = server

< span class =code-attribute> 类别 = dropdate LoadingText = 正在加载... ServicePath = 〜/ DropDownCasCad.asmx ServiceMethod = GetData ParentControlID = dropmovie / >

< / asp:Content >




我的asmx中的




<%@ WebService Language =C#CodeBehind =DropDownCasCad.asmx.csClass =easymoviesindia.DropDownCasCad%> 




我的.asmx.cs中的




使用System; 
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControls;
使用System.Collections;
使用System.Collections.Specialized;使用System.Web.Services
;
使用AjaxControlToolkit;

namespace easymoviesindia
{
///< summary>
/// DropDownCasCad
///< / summary>的摘要说明

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

//要允许使用ASP.NET AJAX从脚本调用此Web服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
[WebService(Namespace =http://tempuri.org/)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) )]
[System.Web.Script.Services.ScriptService()]
// [System.Web.Script.Services.ScriptService()]
public class DropDownCasCad:System.Web。 Services.WebService
{
public DropDownCasCad(){
}

public List< cascadingdropdownnamevalue> bind(string [] total_moviedetails)// -------------------------------------- bind方法开始
{
List< cascadingdropdownnamevalue> list = new List< cascadingdropdownnamevalue>();

string [] singlemoviedetails = null;

list.Add(new CascadingDropDownNameValue(TELUGU,TELUGU));


foreach(字符串single_moviedetails in total_moviedetails)
{
singlemoviedetails = single_moviedetails.Split('〜');


if(TELUGU.Equals(singlemoviedetails [2] .ToString()))
{
list.Add(new CascadingDropDownNameValue(singlemoviedetails [1] .ToString(),singlemoviedetails [0] .ToString()));
} //如果
}

bool isHindi = true;
foreach(字符串single_moviedetails in total_moviedetails)
{

singlemoviedetails = single_moviedetails.Split('〜');

if(HINDI.Equals(singlemoviedetails [2] .ToString()))
{
if(isHindi)
{
list。添加(新CascadingDropDownNameValue(HINDI,HINDI));
isHindi = false;
}
list.Add(new CascadingDropDownNameValue(singlemoviedetails [1] .ToString(),singlemoviedetails [0] .ToString()));

}

}

bool isEnglish = true;
foreach(字符串single_moviedetails in total_moviedetails)
{

singlemoviedetails = single_moviedetails.Split('〜');

if(ENGLISH.Equals(singlemoviedetails [2] .ToString()))
{
if(isEnglish)
{
list。添加(新CascadingDropDownNameValue(ENGLISH,ENGLISH));
isEnglish = false;

}

list.Add(new CascadingDropDownNameValue(singlemoviedetails [1] .ToString(),singlemoviedetails [0] .ToString()));
}

}

返回列表;
}

protected List< cascadingdropdownnamevalue> datesprocess(string dateDirPath,string knownvalue)
{

DataBindToDateProcess dates = new DataBindToDateProcess();
List< cascadingdropdownnamevalue> list = new List< cascadingdropdownnamevalue>();

ArrayList dateslist = dates.BindProcess(dateDirPath,knownvalue);

foreach(字符串日期在datelist中)
{
DateTime d = new DateTime(Convert.ToInt32(date.Substring(0,4).Trim()),Convert。 ToInt32(date.Substring(4,2).Trim()),Convert.ToInt32(date.Substring(date.Length - 2).Trim()));
list.Add(new CascadingDropDownNameValue(d.ToString(ddd MMM dd yyyy),date));
}
返回清单;
}

[System.Web.Services.WebMethod]

// [System.Web.Script.Services.ScriptMethod]
public static AjaxControlToolkit .CascadingDropDownNameValue [] GetData(string knownCategoryValues,string category)
{
// string dateDirPath =D:\\easy100services\\cities \\+ dropcity.SelectedValue + \\movieticketing;
string dateDirPath =D:\\easy100services\\cities \\;

string cityurl =http://xxx.xxx/xyz/site/abc.asp?citycode=;
DataBindToMovieProcess movies = new DataBindToMovieProcess();
DataBindToDateProcess dates = new DataBindToDateProcess();
DropDownCasCad t = new DropDownCasCad();
List< cascadingdropdownnamevalue> VLS;

//获取已知类别/值对的字典
StringDictionary known = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
AjaxControlToolkit.CascadingDropDownNameValue [] values = null;
开关(类别)
{
casedropcity:
values = new AjaxControlToolkit.CascadingDropDownNameValue [] {
new AjaxControlToolkit.CascadingDropDownNameValue(Hyderabad,1 ),
新的AjaxControlToolkit.CascadingDropDownNameValue(Warangal,20),
新的AjaxControlToolkit.CascadingDropDownNameValue(kakinada,9),
};
休息;
casedropmovie:
switch(已知[dropcity])
{
case1:
cityurl = cityurl + known [dropcity] ;
dateDirPath = dateDirPath + known [dropcity];
vls = t.bind(movies.BindProcess(cityurl));
values = vls.ToArray< cascadingdropdownnamevalue>();
休息;

案例20:
cityurl = cityurl + known [dropcity];
dateDirPath = dateDirPath + known [dropcity];
vls = t.bind(movies.BindProcess(cityurl));
values = vls.ToArray< cascadingdropdownnamevalue>();
休息;

案例9:
cityurl = cityurl + known [dropcity];
dateDirPath = dateDirPath + known [dropcity];
vls = t.bind(movies.BindProcess(cityurl));
values = vls.ToArray< cascadingdropdownnamevalue>();
休息;

默认值:
break;
}
休息;
casedropdate:
dateDirPath = dateDirPath + known [dropcity] +\\movieticketing;
values = t.datesprocess(dateDirPath,known [dropmovie])。ToArray< cascadingdropdownnamevalue>();

休息;
}
返回值;
}


}
}





请帮助谢谢提前...

解决方案

嗨我解决了我的问题



删除前面的静态关键字我的服务方法

GetData(字符串knownCategoryValues,字符串类别)<​​/ blockquote>

安装此附加服务器



ASP Net Ajax 1.0



http://www.microsoft.com/en-us/download/details.aspx?id=883 [ ^ ]


my code in .aspx

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">


            <asp:DropDownList id="dropcity" runat="server"  AutoPostBack="true" class="ddl" style="width:210px; height:30px; background-color:#40E0D0"></asp:DropDownList>

              <cc1:CascadingDropDown ID="dropcitycc" TargetControlID="dropcity" PromptText="Select City"

                PromptValue=""  runat="server"

                Category="dropcity" ServicePath="~/DropDownCasCad.asmx" ServiceMethod="GetData"  LoadingText="Loading..." />

          <asp:DropDownList id="dropmovie" runat="server" class="ddl" style="width:210px; height:30px; background-color:#40E0D0"></asp:DropDownList>
           <cc1:CascadingDropDown ID="dropmoviecc" TargetControlID="dropmovie" PromptText="Select Movie"

                PromptValue=""  runat="server"

                Category="dropmovie" LoadingText="Loading..." ServicePath="~/DropDownCasCad.asmx" ServiceMethod="GetData"  ParentControlID="dropcity"/>

          <asp:DropDownList id="dropdate" runat="server" class="ddl" style="width:210px; height:30px; background-color:#40E0D0"></asp:DropDownList>
          <cc1:CascadingDropDown ID="dropdatecc" TargetControlID="dropdate" PromptText="Select date"

                PromptValue=""  runat="server"

                Category="dropdate" LoadingText="Loading..."  ServicePath="~/DropDownCasCad.asmx" ServiceMethod="GetData"  ParentControlID="dropmovie"/>

</asp:Content>



in my asmx

<%@ WebService Language="C#" CodeBehind="DropDownCasCad.asmx.cs" Class="easymoviesindia.DropDownCasCad" %>



in my .asmx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Collections.Specialized;
using System.Web.Services;
using AjaxControlToolkit;

namespace easymoviesindia
{
    /// <summary>
    /// Summary description for DropDownCasCad
    /// </summary>

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
     //[System.Web.Script.Services.ScriptService]
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.Web.Script.Services.ScriptService()]
   //  [System.Web.Script.Services.ScriptService()]
    public class DropDownCasCad : System.Web.Services.WebService
    {
         public DropDownCasCad(){
         }

        public List<cascadingdropdownnamevalue> bind(string[] total_moviedetails) //--------------------------------------bind method begin
        {
            List<cascadingdropdownnamevalue> list = new List<cascadingdropdownnamevalue>();

            string[] singlemoviedetails = null;

            list.Add(new CascadingDropDownNameValue("TELUGU", "TELUGU"));


            foreach (string single_moviedetails in total_moviedetails)
            {
                singlemoviedetails = single_moviedetails.Split('~');


                if ("TELUGU".Equals(singlemoviedetails[2].ToString()))
                {
                    list.Add(new CascadingDropDownNameValue(singlemoviedetails[1].ToString(), singlemoviedetails[0].ToString()));
                }//if
            }

            bool isHindi = true;
            foreach (string single_moviedetails in total_moviedetails)
            {

                singlemoviedetails = single_moviedetails.Split('~');

                if ("HINDI".Equals(singlemoviedetails[2].ToString()))
                {
                    if (isHindi)
                    {
                        list.Add(new CascadingDropDownNameValue("HINDI", "HINDI"));
                        isHindi = false;
                    }
                    list.Add(new CascadingDropDownNameValue(singlemoviedetails[1].ToString(), singlemoviedetails[0].ToString()));

                }

            }

            bool isEnglish = true;
            foreach (string single_moviedetails in total_moviedetails)
            {

                singlemoviedetails = single_moviedetails.Split('~');

                if ("ENGLISH".Equals(singlemoviedetails[2].ToString()))
                {
                    if (isEnglish)
                    {
                        list.Add(new CascadingDropDownNameValue("ENGLISH", "ENGLISH"));
                        isEnglish = false;

                    }

                    list.Add(new CascadingDropDownNameValue(singlemoviedetails[1].ToString(), singlemoviedetails[0].ToString()));
                }

            }

            return list;
        }

        protected List<cascadingdropdownnamevalue> datesprocess(string dateDirPath, string knownvalue)
        {

            DataBindToDateProcess dates = new DataBindToDateProcess();
            List<cascadingdropdownnamevalue> list = new List<cascadingdropdownnamevalue>();

            ArrayList dateslist = dates.BindProcess(dateDirPath, knownvalue);

            foreach (string date in dateslist)
            {
                DateTime d = new DateTime(Convert.ToInt32(date.Substring(0, 4).Trim()), Convert.ToInt32(date.Substring(4, 2).Trim()), Convert.ToInt32(date.Substring(date.Length - 2).Trim()));
                list.Add(new CascadingDropDownNameValue(d.ToString("ddd MMM dd yyyy"), date));
            }
            return list;
        }

        [System.Web.Services.WebMethod]
        
       // [System.Web.Script.Services.ScriptMethod]
        public static AjaxControlToolkit.CascadingDropDownNameValue[] GetData(string knownCategoryValues, string category)
        {
            //string dateDirPath = "D:\\easy100services\\cities\\" + dropcity.SelectedValue + "\\movieticketing";
            string dateDirPath = "D:\\easy100services\\cities\\";

            string cityurl = "http://xxx.xxx/xyz/site/abc.asp?citycode=";
            DataBindToMovieProcess movies = new DataBindToMovieProcess();
            DataBindToDateProcess dates = new DataBindToDateProcess();
            DropDownCasCad t = new DropDownCasCad();
            List<cascadingdropdownnamevalue> vls;

            // Get a dictionary of known category/value pairs  
            StringDictionary known = AjaxControlToolkit.CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
            AjaxControlToolkit.CascadingDropDownNameValue[] values = null;
            switch (category)
            {
                case "dropcity":
                    values = new AjaxControlToolkit.CascadingDropDownNameValue[] {  
                    new AjaxControlToolkit.CascadingDropDownNameValue("Hyderabad", "1"),  
                    new AjaxControlToolkit.CascadingDropDownNameValue("Warangal", "20"),  
                    new AjaxControlToolkit.CascadingDropDownNameValue("kakinada", "9"),  
                };
                    break;
                case "dropmovie":
                    switch (known["dropcity"])
                    {
                        case "1":
                            cityurl = cityurl + known["dropcity"];
                            dateDirPath = dateDirPath + known["dropcity"];
                            vls = t.bind(movies.BindProcess(cityurl));
                            values = vls.ToArray<cascadingdropdownnamevalue>();
                            break;

                        case "20":
                            cityurl = cityurl + known["dropcity"];
                            dateDirPath = dateDirPath + known["dropcity"];
                            vls = t.bind(movies.BindProcess(cityurl));
                            values = vls.ToArray<cascadingdropdownnamevalue>();
                            break;

                        case "9":
                            cityurl = cityurl + known["dropcity"];
                            dateDirPath = dateDirPath + known["dropcity"];
                            vls = t.bind(movies.BindProcess(cityurl));
                            values = vls.ToArray<cascadingdropdownnamevalue>();
                            break;

                        default:
                            break;
                    }
                    break;
                case "dropdate":
                    dateDirPath = dateDirPath + known["dropcity"] + "\\movieticketing";
                    values = t.datesprocess(dateDirPath, known["dropmovie"]).ToArray<cascadingdropdownnamevalue>();

                    break;
            }
            return values;
        }


    }
}



please help thanks in advance...

解决方案

hi i solved my problem

by removing static key word in front of my service method
GetData(string knownCategoryValues, string category)


Install this add-on server

ASP Net Ajax 1.0

http://www.microsoft.com/en-us/download/details.aspx?id=883[^]


这篇关于我的ajax级联下拉列表中的方法错误500的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆