C# 如何将对象数组传递为jQuery Ajax所理解的格式?
我有一个asmx web服务,它具有以下功能:C# 如何将对象数组传递为jQuery Ajax所理解的格式?,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我有一个asmx web服务,它具有以下功能: [WebMethod] public List<Tag> GetTags() { List<Tag> TagList = new List<Tag>(); DataTable dt = Helpers.Tags.GetTags(); foreach (DataRow dr in dt.Rows) {
[WebMethod]
public List<Tag> GetTags()
{
List<Tag> TagList = new List<Tag>();
DataTable dt = Helpers.Tags.GetTags();
foreach (DataRow dr in dt.Rows)
{
Tag t = new Tag();
t.TagName = dr["Tag"].ToString();
t.TagDescription = dr["Description"].ToString();
TagList.Add(t);
}
return TagList;
}
方法返回标记对象的对象列表
我在jQuery中有一个自动完成函数,它接受以下格式的数组:
var availableTagsCustom = [
{
tagName: 'Ruby',
tagDescription: 'Ruby is an open-source dynamic...'
},
{
tagName: 'Scala',
tagDescription: 'Scala is a general purpose programming language...'
},
{
tagName: 'Scheme',
tagDescription: 'Scheme is a functional programming language....'
}
];
如何将收到的“标记对象对象的对象列表”转换为这种格式
谢谢。首先,您需要在服务类级别设置
[System.Web.Script.Services.ScriptService]
属性,以便能够获得Json
结果
其次,您需要在方法上应用[ScriptMethod(UseHttpGet=true,ResponseFormat=ResponseFormat.Json)]
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public List<Tag> GetTags()
{
List<Tag> TagList = new List<Tag>();
DataTable dt = Helpers.Tags.GetTags();
foreach (DataRow dr in dt.Rows)
{
Tag t = new Tag();
t.TagName = dr["Tag"].ToString();
t.TagDescription = dr["Description"].ToString();
TagList.Add(t);
}
return TagList;
}
[WebMethod]
[ScriptMethod(UseHttpGet=true,ResponseFormat=ResponseFormat.Json)]
公共列表GetTags()
{
List TagList=新列表();
DataTable dt=Helpers.Tags.GetTags();
foreach(数据行dr在dt.行中)
{
标签t=新标签();
t、 标记名=dr[“Tag”].ToString();
t、 TagDescription=dr[“Description”].ToString();
标记列表。添加(t);
}
返回标记列表;
}
第三组内容类型:请求中的application/json
本文也可能会有所帮助
首先,您需要在服务类级别设置
[System.Web.Script.Services.ScriptService]
属性,以便能够获得Json
结果
其次,您需要在方法上应用[ScriptMethod(UseHttpGet=true,ResponseFormat=ResponseFormat.Json)]
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public List<Tag> GetTags()
{
List<Tag> TagList = new List<Tag>();
DataTable dt = Helpers.Tags.GetTags();
foreach (DataRow dr in dt.Rows)
{
Tag t = new Tag();
t.TagName = dr["Tag"].ToString();
t.TagDescription = dr["Description"].ToString();
TagList.Add(t);
}
return TagList;
}
[WebMethod]
[ScriptMethod(UseHttpGet=true,ResponseFormat=ResponseFormat.Json)]
公共列表GetTags()
{
List TagList=新列表();
DataTable dt=Helpers.Tags.GetTags();
foreach(数据行dr在dt.行中)
{
标签t=新标签();
t、 标记名=dr[“Tag”].ToString();
t、 TagDescription=dr[“Description”].ToString();
标记列表。添加(t);
}
返回标记列表;
}
第三组内容类型:请求中的application/json
本文也可能会有所帮助
阅读关于和内置的and可以是@L.B的良好起点+1。您应该在这里使用JSON.net,然后您可以将任何数组或对象转换为JSON,以传递给客户端进行解析。阅读关于和内置的and可以是@L.B的良好起点+1。您应该在这里使用JSON.net,然后您可以将任何数组或对象转换为JSON,以传递给客户端进行解析。根据firebug执行建议后,如果我得到数组.d,我会得到以下内容:[Object{{uuuu type=“iConnect.UI.Webservices.Tag”,TagName=“Poll”,TagDescription=“Poll Tag”}]这和我想要的输出不一样,我还不知道如何使用它,我在互联网上研究了很多文章,但仍然找不到如何做。根据firebug的建议,如果我得到数组,我会得到以下结果:[Object{uuuu type=“iConnect.UI.Webservices.Tag”,TagName=“Poll”,TagDescription=“Poll Tag”}]与我想要的输出不相似,我还不确定如何使用它,我在互联网上研究了很多文章,但仍然找不到如何使用它。