yuuuuuuuuccccckkkkk.... Advice: grab this .NET component and drop it in your BIN directory:
http://www.codeplex.com/json (note the new version only works with .NET 3.5, grab the older one if you're in 2.0) then you can stay thinking like .NET and objects Class for each item Private Class Item Private _value As String Public Property value() As String Get Return _value End Get Set(ByVal value As String) _value = value End Set End Property Private _caption As String Public Property caption() As String Get Return _caption End Get Set(ByVal value As String) _caption = value End Set End Property Public Sub New(ByVal i_value As String, ByVal i_caption As String) Me.value = i_value Me.caption = i_caption End Sub End Class Then to generate (and at the end the NewtonSoft object will take care of all JSON converstion that $.getJSON reads with no issues) Dim Options As List(Of Item) = New List(Of Item) If Not IsNothing(qs) Then Options.Add(New Item("", "choose color")) Select Case qs Case "7141832" sku = "7141832" Options.Add(New Item("bk", "Black Oil-tanned")) Options.Add(New Item("br", "Black Polishable")) Case "7173656" sku = "7173656" Options.Add(New Item("bk", "Black")) Options.Add(New Item("br", "Crazy Horse")) Case "7269643" sku = "7269643" Options.Add(New Item("bk", "Black")) Case Else Options.Add(New Item("bk", "Black")) End Select Response.Write (Newtonsoft.Json.JavaScriptConvert.SerializeObject(Options)) End If If Not IsNothing(qs) Then 'json sb.Append("[{value:'',caption:'choose color'},") Select Case qs Case "7141832" sku = "7141832" sb.Append("{value:'bk',caption:'Black Oil- tanned'}, {value:'br',caption:'Black Polishable'}") Case "7173656" sku = "7173656" sb.Append("{value:'bk',caption:'Black'}, {value:'br',caption:'Crazy Horse'}") Case "7141922" sku = "7141922" sb.Append("{value:'bk',caption:'Black'}, {value:'br',caption:'Crazy Horse'}") Case "7177382" sku = "7177382" sb.Append("{value:'hy',caption:'Honey'}, {value:'sd',caption:'Peanut'}") Case "7141730" sku = "7141730" sb.Append("{value:'rw',caption:'Brown'}, {value:'hy',caption:'Honey'}") Case "7141833" sku = "7141833" sb.Append("{value:'br',caption:'Russet'}") Case "7257914" sku = "7257914" sb.Append("{value:'br',caption:'Brown'}") Case "7269643" sku = "7269643" sb.Append("{value:'bk',caption:'Black'}") Case Else sb.Append("{value:'bk',caption:'Black'}") End Select ' sb.Append("]") result = sb.ToString End If On May 28, 9:07 am, will <wml...@gmail.com> wrote: > Hello: > > I'm trying to use the getJson() with asp.net page (attempting to adapt > jquery in action example to .net): > > <script type="text/javascript"> > $(function(){ > $('#styleDropdown') > .change(function(){ > var styleValue = $(this).val(); > $('#detailsDisplay').load( > 'getDetails.aspx', > { style: styleValue } > ); > adjustColorDropdown(); > }) > .change(); > $('#colorDropdown') > .change(adjustSizeDropdown); > }); > > function adjustColorDropdown() { > var styleValue = $('#styleDropdown').val(); > var dropdownSet = $('#colorDropdown'); > if (styleValue.length == 0) { > dropdownSet.attr("disabled",true); > $(dropdownSet).emptySelect(); > } > else { > dropdownSet.attr("disabled",false); > $.getJSON( > 'getColors.aspx', > {style:styleValue}, > function(data){ > $(dropdownSet).loadSelect(data); > adjustSizeDropdown(); > } > ); > } > } > > function adjustSizeDropdown() { > var styleValue = $('#styleDropdown').val(); > var colorValue = $('#colorDropdown').val(); > var dropdownSet = $('#sizeDropdown'); > if ((styleValue.length == 0)||(colorValue.length == 0) ) { > dropdownSet.attr("disabled",true); > $(dropdownSet).emptySelect(); > adjustSizeDropdown(); > } > else { > dropdownSet.attr("disabled",false); > $.getJSON( > 'getSizes.jsp', > {style:styleValue,color:colorValue}, > function(data){$(dropdownSet).loadSelect(data)} > ); > } > } > </script> > > The getColors.aspx code is below. here is the object: > [{value:'',caption:'choose color'},{value:'hy',caption:'Honey'}, > {value:'sd',caption:'Peanut'}] > > I can step through the .net code and it appears to be generating the > json correctly but the dropdown is never populated. So it appears the > jquery is working but my returned json object is incorrect. Thanks. > > Private result As String > Private sku As String = "--" > > Protected Sub Page_Load(ByVal sender As Object, ByVal e As > System.EventArgs) Handles Me.Load > Dim sb As New StringBuilder > Dim qs As String = "" > > qs = Request.Params.Item("style") > > If Not IsNothing(qs) Then > 'json > sb.Append("[{value:'',caption:'choose color'},") > Select Case qs > Case "7141832" > sku = "7141832" > sb.Append("{value:'bk',caption:'Black Oil-tanned'}, > {value:'br',caption:'Black Polishable'}") > Case "7173656" > sku = "7173656" > sb.Append("{value:'bk',caption:'Black'}, > {value:'br',caption:'Crazy Horse'}") > Case "7141922" > sku = "7141922" > sb.Append("{value:'bk',caption:'Black'}, > {value:'br',caption:'Crazy Horse'}") > Case "7177382" > sku = "7177382" > sb.Append("{value:'hy',caption:'Honey'}, > {value:'sd',caption:'Peanut'}") > Case "7141730" > sku = "7141730" > sb.Append("{value:'rw',caption:'Brown'}, > {value:'hy',caption:'Honey'}") > Case "7141833" > sku = "7141833" > sb.Append("{value:'br',caption:'Russet'}") > Case "7257914" > sku = "7257914" > sb.Append("{value:'br',caption:'Brown'}") > Case "7269643" > sku = "7269643" > sb.Append("{value:'bk',caption:'Black'}") > Case Else > sb.Append("{value:'bk',caption:'Black'}") > End Select > ' > sb.Append("]") > result = sb.ToString > End If > > '' > End Sub > > Protected Overrides Sub Render(ByVal writer As HtmlTextWriter) > > writer.WriteLine(result) > > End Sub