2013-05-10 1 views
2

Мне нужна помощь с каскадированием dropdownlists ajax, которые отлично работают на моем локальном компьютере, но когда я развернул его на сервере, все dropdownlists пустые, без каких-либо сообщений об ошибке ! Может ли кто-нибудь мне помочь? Мой код: `Ajax Cascading DropDownLists с веб-службой не работают на сервере, списки пустые

      <ajaxToolkit:CascadingDropDown ID="code_CascadingDropDown" 
           runat="server" TargetControlID="code" LoadingText="Loding ..." 
           PromptText="Select Code" ServiceMethod="GetCodes" ServicePath="~/WebService.asmx" 
           Category="Code" UseContextKey="True" Enabled="true"> 
          </ajaxToolkit:CascadingDropDown> 

          &nbsp;&nbsp; 
          <asp:DropDownList ID="type" runat="server" BackColor="White" Height="22px" 
          TabIndex="5" Width="170px" > 
           <asp:ListItem></asp:ListItem> 
          </asp:DropDownList> 
          <ajaxToolkit:CascadingDropDown ID="type_CascadingDropDown" 
           runat="server" TargetControlID="type" Enabled="True" 
           ParentControlID="code" LoadingText="Loding ..." PromptText="Select Type" 
           ServiceMethod="GetType" ServicePath="~/WebService.asmx" 
           Category="type" UseContextKey="True"> 
          </ajaxToolkit:CascadingDropDown> 
          &nbsp;&nbsp; 
          <asp:DropDownList ID="dem" runat="server" BackColor="White" Height="22px" 
           TabIndex="6" Width="170px"> 
           <asp:ListItem></asp:ListItem> 
          </asp:DropDownList> 
          <ajaxToolkit:CascadingDropDown ID="dem_CascadingDropDown" 
           runat="server" TargetControlID="dem" Enabled="True" 
           ParentControlID="type" LoadingText="Loding ..." PromptText="Select Dimension" 
           ServiceMethod="GetDimension" ServicePath="~/WebService.asmx" 
           Category="dimension" UseContextKey="True"> 
          </ajaxToolkit:CascadingDropDown> 
          &nbsp;&nbsp; 
          <asp:DropDownList ID="p" runat="server" BackColor="White" Height="22px" 
          TabIndex="7" Width="130px" style="margin-top: 0px"> 
           <asp:ListItem></asp:ListItem> 
          </asp:DropDownList> 
          <ajaxToolkit:CascadingDropDown ID="p_CascadingDropDown" 
           runat="server" TargetControlID="p" Enabled="True" 
           ParentControlID="dem" LoadingText="Loding ..." PromptText="Select P" 
           ServiceMethod="GetP" ServicePath="~/WebService.asmx" 
           Category="p" UseContextKey="True"> 
          </ajaxToolkit:CascadingDropDown> 
          &nbsp;&nbsp; 
          <asp:DropDownList ID="minquant" runat="server" BackColor="White" Height="22px" 
          TabIndex="7" Width="100px" style="margin-top: 0px"><asp:ListItem></asp:ListItem> 
          </asp:DropDownList>&nbsp;<ajaxToolkit:CascadingDropDown ID="minquant_CascadingDropDown" runat="server" 
           TargetControlID="minquant" Enabled="True" 
           ParentControlID="p" LoadingText="Loding ..." PromptText="Pcs/Carton" 
           ServiceMethod="GetQuantity" ServicePath="~/WebService.asmx" 
           Category="quantity" UseContextKey="True"> 
          </ajaxToolkit:CascadingDropDown>` 

[WebService(Namespace = "http://tempuri.org/")] 
[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] 

public class WebService : System.Web.Services.WebService 
{ 

    public WebService() 
    { 

     //Uncomment the following line if using designed components 
     //InitializeComponent(); 
    } 

    [WebMethod] 
    public CascadingDropDownNameValue[] GetCodes(string knownCategoryValues, string category) 
    { 
     OrdersDataContext db = new OrdersDataContext(); 
     IEnumerable<CascadingDropDownNameValue> vals = null; 
     short targetID = 0; 
     vals = (from c in db.codeTs 
       select new CascadingDropDownNameValue 
       { 
        name = c.code, 
        value = c.id.ToString(), 
       }).OrderBy(t => t.name); 
     return vals.ToArray<CascadingDropDownNameValue>(); 
    } 

    [WebMethod] 
    public CascadingDropDownNameValue[] GetType(string knownCategoryValues, string category) 
    { 
     OrdersDataContext db = new OrdersDataContext(); 
     IEnumerable<CascadingDropDownNameValue> vals = null; 
     StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues); 
     short code_Id; 
     if (!kv.ContainsKey("code") || !short.TryParse(kv["code"], out code_Id)) 
     { 
      return null; 
     } 
     vals = (from tp in db.typeTs 
       where tp.codeId == code_Id 
       select new CascadingDropDownNameValue 
       { 
        name = tp.type, 
        value = tp.id.ToString(), 
       }).OrderBy(t => t.name); 
     return vals.ToArray<CascadingDropDownNameValue>(); 
    } 

    [WebMethod] 
    public CascadingDropDownNameValue[] GetDimension(string knownCategoryValues, string category) 
    { 
     OrdersDataContext db = new OrdersDataContext(); 
     IEnumerable<CascadingDropDownNameValue> vals = null; 
     StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues); 
     short type_Id; 
     if (!kv.ContainsKey("type") || !short.TryParse(kv["type"], out type_Id)) 
     { 
      return null; 
     } 
     vals = (from tp in db.dimTs 
       where tp.typeId == type_Id 
       select new CascadingDropDownNameValue 
       { 
        name = tp.dimension, 
        value = tp.id.ToString(), 
       }).OrderBy(t => t.name); 
     return vals.ToArray<CascadingDropDownNameValue>(); 
    }` 
+0

Если кто-то хочет проверить, что он может посетить эту страницу http://smirdex.gr/OrderForm2.2/LogIn.aspx и использовать для имени пользователя abins_Aimilios и pass: 5a> = nBiQR? MDe + Спасибо заранее! –

+0

Я вошел. Какая страница на вашем сайте у вас есть? –

+0

в форме заказа, извините, что я забыл написать о ... –

ответ

0

Методы Web service.asmx не стреляют вообще, когда я проверять сетевой запрос через Firebug .The URL не решается correctly.Try положить полный путь к вашему веб-сайт Сервис этот путь

ServicePath="http://smirdex.gr/OrderForm2.2/WebService.asmx" 

Или разрешить URL

ServicePath="<%# ResolveUrl('~/OrderForm2.2/WebServices.asmx') %>" 

Позвольте мне знать, как она идет

Update.This error показывает на вашем сайте Убедитесь, что DLL Ajax Control Toolkit скопирована в папку bin при публикации вашего сайта.

И попробуйте решение по этому link

+0

Я пытаюсь в обоих направлениях и нет результата ... :(прямо сейчас у меня есть первый «ServicePath =» http://smirdex.gr/OrderForm2.2/WebService.asmx »« –

+0

На вашем сайте есть ошибка . \t Sys.Application.add_init (функция() {не удалось загрузить) .Проверьте свой javascript поверх своей страницы. –

+0

Отправьте мне копию вашего проекта и базу данных на молнии. [email protected] –

0

Я имел такой же вопрос. Tt затем остановился после установки дополнительных сервисов роли. Затем, почесывая голову в течение нескольких часов, я узнал, что в обработчиках Handler Mappings один метод сценария для * .asmx имеет неправильный номер версии! посмотрите общедоступный токен: B03F5F7F11D50A3A, если вы видите версию 2.0.0.0, а затем удалите его. Вот и все.