次のように ajax 呼び出しを使用して webmethod を呼び出そうとしています:
<script type="text/javascript">
$(document).ready(function () {
$("#getdetails").click(function () {
$.ajax({
type: "POST",
url: "Default.aspx/Gettext",
data: JSON.stringify({SampleText: $('#sampletext').val(), FontType: $('#fonttype').val() }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$("#Result").html(response.d);
}//success
});//ajax call
});//button click
$("#FontLists").change(function () {
$('#fonttype').val($('#FontLists option:selected').text());
});
});//document
ウェブ方法:
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Shared Function Gettext(ByVal SampleText As String, ByVal FontType As String) As String
Dim List1 As New ArrayList()
List1.Add(SampleText)
List1.Add(FontType)
For Each Str As String In List1
Return Str
Next
End Function
問題は、ボタンをクリックすると、選択したフォントではなくテキストのみが応答に表示されることです。しかし、List1 にブレークポイントを配置して確認すると、下のスクリーンショットのように表示されます。