English 中文(简体)
定制的C#数据传输对象从JavaScript PageMethods
原标题:
  • 时间:2009-01-20 06:40:32
  •  标签:

我创建了一个定制对象,希望以JSON格式返回到JavaScript方法。这个对象是在C#中作为类创建的。

什么是从PageMethod(如果您喜欢[WebMethod])最好的方法将此对象返回到javascript onPageMethodCallback()函数?我需要能够通过javascript访问此对象的属性并根据DOM更新它(可能使用jQuery)。

谢谢StackOverflow! :)

最佳回答

在服务器端上,ASP.NET AJAX将处理对象的序列化。例如:

public class Name
{
  public string FirstName;
  public string LastName;
}

[WebMethod]
public Name GetName()
{
  Name name = new Name();

  name.FirstName = "Dave";
  name.LastName = "Ward";

  return name;
}

然后,您可以使用与JD连接的基本相同的方法直接从jQuery调用PageMethod。 更具体地说,这里是一个关于使用jQuery调用PageMethods的帖子

服务器将以JSON格式序列化您的返回类型,您将能够按预期访问Name类的属性。例如,msg.d.FirstNamemsg.d.LastName

只要注意.d. 这是3.5新增的安全功能,在2.0中不存在。

问题回答

这是一个关于如何使用JSON序列化WebMethods和jQuery一起使用的相当详细的帖子。这应该能解决你的问题。

使用jQuery消费ASP.NET JSON Web服务

如果您想要使用ASP.NET AJAX而不是jQuery来执行AJAX请求,那么您应该看看ScriptManager和ServiceReference,它们可以为您创建javascript代理。它非常强大,我们在一些相当大的应用程序中成功使用它。发现了这篇文章:

将此翻译成中文:http://dotnetslackers.com/articles/ajax/JSON-EnabledWCFServicesInASPNET35.aspx http://dotnetslackers.com/articles/ajax/JSON-EnabledWCFServicesInASPNET35.aspx





相关问题
热门标签