WCF サービスの配列要素に値を渡しています。ここではjQueryを使用しています。
私の機能は次のとおりです。
Service.cs で:
public class User
{
Dictionary<int, string> users = null;
public User()
{
users = new Dictionary<int, string>();
users.Add(1, "apple");
users.Add(2, "orange");
users.Add(3, "lemon");
users.Add(4, "grape");
}
public string[] GetUser(int Id)
{
var user = from u in users
where u.Key == Id
select u.Value;
return user.ToArray<string>();
}
jQuery の場合:
function CallService() {
$.ajax({
type: Type,
url: Url,
data: Data,
contentType: ContentType,
dataType: DataType,
processdata: ProcessData,
success: function(msg) {
ServiceSucceeded(msg);
},
error: ServiceFailed
});
}
次のように宣言する最初の関数:
function WCFJSON() {
var uesrid = "2";
Type = "POST";
Url = "Service.svc/GetUser";
Data = '{"Id": "' + uesrid + '"}';
ContentType = "application/json; charset=utf-8";
DataType = "json"; ProcessData = true;
CallService();
}
この関数は、次のように呼び出しました。
$(document).ready(
function() {
WCFJSON();
}
);
私の2番目の機能は次のとおりです。
function temp()
{
//var id=parseInt($('#txtinput').val();
var id="5";
Type="POST";
Url="Srvice.svc/GetUser";
Data='{"Id":"'+id+'"}';
ContentType="application/json;charset=utf-8";
DataType="json";ProcessData=true;
CallService();
}
以下のように、クライアントのボタンをクリックしてこの関数を呼び出しました。
<asp:Button ID="btnsumbit" runat="server" Text="submit" OnClientClick ="temp();" />
私の問題は、このプログラムを実行したときに、最初の関数 (「WCFJSON();」)、「temp();」の他の関数からの結果しか得られなかったことです。何の結果も得られませんでした。何が欠けているのかわからない?誰でもこれを解決できますか?