台灣最大程式設計社群網站
線上人數
891
 
會員總數:244977
討論主題:188941
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> ajaxToolkit:CascadingDropDown
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
ajaxToolkit:CascadingDropDown
價值 : 100 QP  點閱數:1719 回應數:6

樓主

Chen
高級專家
8172 50
4178 782
發送站內信

捐贈 VP 給 Chen
我想利用AJAX撰寫CascadingDropDown,以下為我的做法,但我的webservice執行的結果隔是要如何轉成ajaxToolkit:CascadingDropDown可以認識呢?

【getCountry.aspx】
<textarea name="code" class="vb">
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
.....
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList><br />
<ajaxToolkit:CascadingDropDown ID="CascadingDropDown1" runat="server"
TargetControlID="DropDownList2" ServicePath="../WebService/Address.asmx" ServiceMethod="getCountry" Category="country" LoadingText="Loading..." PromptText="--select--">
</ajaxToolkit:CascadingDropDown>

本篇文章發表於2007-04-14 00:30
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

Phil
捐贈 VP 給 Phil 檢舉此回應
try
========
<WebMethod()> _
Public Function getCountry(ByVal knownCategoryValues As String, ByVal category As String) As CascadingDropDownNameValue()

Dim dt As DataTable = New DataTable("country")
Try
Using cn As SqlConnection = New SqlConnection(getConnectionString("MSCSName"))
Using cmd As New SqlCommand
cmd.Connection = cn
cmd.CommandText = "Select CountryName,CountryValue from Country Order by CountryNo"
Using dap As SqlDataAdapter = New SqlDataAdapter(cmd)
dap.Fill(dt)
End Using
End Using
End Using
' add the following lines =================================================================
Dim _city As List(Of CascadingDropDownNameValue) = New List(Of CascadingDropDownNameValue)()
For Each row As DataRow In dt.Rows
_city.Add(New CascadingDropDownNameValue(row("CountryName").ToString(), _
row("CountryValue").ToString()))
Next
Return _city.ToArray()

Catch ex As Exception
Throw New Exception
End Try

End Function

本篇文章回覆於2007-04-14 01:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Chen
捐贈 VP 給 Chen 檢舉此回應
Hello Phil,
我已經將datatable依您的code轉存List,同時function也改變型態,目前WebService的執行結果已經跟AJAX Help的格式一致了,但在aspx裡面的dropdownlist出現錯誤【Method Error 12030】,我的aspx有哪裡寫錯了嗎?
還有,我有一個DropDownList3是依據DropDownList2節結果再去撈另一個WebService的資料,在webservice是利用knownCategoryValues承接ajaxToolkit:CascadingDropDown ParentControlID對不?
【aspx】


【asmx】

本篇文章回覆於2007-04-14 09:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

什麼碼
捐贈 VP 給 什麼碼 檢舉此回應
不知道可不可以把新的WebService的結果post出來?
照理說應該要類似這樣的格式
<CascadingDropDownNameValue>
<name>string</name>
<value>string</value>
<isDefaultValue>boolean</isDefaultValue>
</CascadingDropDownNameValue>
因為我之前也有碰到類似的情況... 結果後來發現XML沒有適當的輸出
後來更正之後就沒出現Method Error 12030
本篇文章回覆於2007-04-14 15:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Chen
捐贈 VP 給 Chen 檢舉此回應
Hello 什麼碼,

以下是新的WebService結果

本篇文章回覆於2007-04-14 15:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

什麼碼
捐贈 VP 給 什麼碼 檢舉此回應
那你可能要看看aspx有沒有呼叫到webservice
可以在getCountry裡面設中斷點看看有沒有進入到function裡面
如果沒有的話可以試試看在<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
下面加上
<System.Web.Script.Services.ScriptService()> _
成為
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<System.Web.Script.Services.ScriptService()> _
Public Class Address
希望能幫上忙
本篇文章回覆於2007-04-14 16:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Chen
捐贈 VP 給 Chen 檢舉此回應
加了

就好了
謝謝!
第一次給點數,我給Phil跟什麼碼各50囉,希望我沒操作錯誤!
另外,請問在AJAX Help中的Value後面都加了 (value),這是什做用? 我需要從database撈出資料填入list時,在value後面串這字串上去嗎?
本篇文章回覆於2007-04-14 17:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.