現在のところ、文字列を返す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コードを変更する必要がありますか?
編集:ここでは、C#のコードは@pukipuki(関連部分のみ)
table.RenderControl(tw);
string retVal = "[\"" + menuDIV + sb.ToString() + "\", \"" + currTitle + "\"]";
return retVal.ToString();
は、たぶん私はここに何か間違ったことをやっていることにより、提案された変更後です。
編集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