我有一個web服務,它返回當前的字符串,我希望它返回一個字符串數組。 我的JS代碼如下所示:從asp.net web服務返回字符串數組到jquery
function getMenu(menuID) {
$("#open").css('display', 'block');
$("#close").css('display', 'none');
$('#flash_container').flash({
swf: 'mainGallery.swf',
width: "100%",
height: 330,
wmode: "transparent",
quality: "high",
flashvars: { XMLFile: 'xml/' + menuID + '.xml' }
});
$("div#panel").slideUp("slow", function() {
var language;
if (getParameterByName('language') == 'en')
language = 1;
else
language = 0;
GetMenu.CreateMenu(menuID, language, OnGotMenu, OnFail, "XmlDocument");
});
}
function OnGotMenu(result) {
var lblOutput = document.getElementById("lblOutput");
lblOutput.innerHTML = result;
$(".MenuList a:last").removeAttr('border-left');
$("div#panel").slideDown("slow");
$("#open").css('display', 'none');
$("#close").css('display', 'block');
fleXenv.fleXcrollMain("panel_content");
}
現在我返回一個字符串。我想返回字符串[]。
如何修改我的js代碼以使用此數組?
編輯:這裏是@pukipuki建議(只有相關部分)
table.RenderControl(tw);
string retVal = "[\"" + menuDIV + sb.ToString() + "\", \"" + currTitle + "\"]";
return retVal.ToString();
也許我在這裏做一些錯誤的變更後的C#代碼。
編輯2:更好的版本的C#代碼:
table.RenderControl(tw);
retArray[0] = menuDIV + sb.ToString();
retArray[1] = currTitle;
string retVal = jsSer.Serialize(retArray);
return retVal;
但我仍然沒有得到一個數組,我可以訪問諸如:
var that = result[0];
var oranother = result[1];
等
其中是您在代碼中調用Web服務時的部分? –
我通過asp.net ajax調用它。 GetMenu.CreateMenu() –
爲你的ASP.NET代碼找到一個合適的.ToJson()庫,因爲你目前正在做的事情很容易出錯 – keymone