我将值传递给 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();
}
);
我的第二个功能是:
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();”的其他函数 我没有得到任何结果。我不知道我错过了什么?谁能解决这个问题?