[jQuery] getJson + asp.net

[jQuery] getJson + asp.net


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