前段时间在自己的笔记本上(开发环境是VS2008)测试用ExtJs+ASP.NET做一个信息系统框架,一切OK;
在项目迁到公司电脑(VS2005)上之后发现问题了,webService返回的结果都是XML 格式的。弄了很久没有解决,后来干脆都用aspx做后台输出数据
今天偶然看到人家用Response.Write 在后台webService输出数据,果然可以。
测试代码如下:
<%@ WebService Language="C#" Class="TestWebService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class TestWebService : System.Web.Services.WebService {
//原先通过return方式返回的是XML格式的结果
[WebMethod]
public string HelloWorld_Old(string firstName, string lastName)
{
//return string.Format("Hello {0} {1}", firstName, lastName);
return "{'success':true,'firstName':'" + firstName + "','lastName':'" + lastName + "'}";
}
//通过Response 输出string类型
[WebMethod]
public void HelloWorld(string firstName, string lastName)
{
//return string.Format("Hello {0} {1}", firstName, lastName);
string rtnStr="{'success':true,'firstName':'" + firstName + "','lastName':'" + lastName + "'}";
this.Context.Response.Write(rtnStr);
}
}