C#试图创建JSON响应,但得到它的HTML
问题描述:
当我查看我的回应我有我的JSON数据,但在底部我已经得到了页面的HTML?我试图创建一个JSON响应任何显而易见的地方。我所做的只是创建一个空白的.aspx页面。C#试图创建JSON响应,但得到它的HTML
protected void Page_Load(object sender, EventArgs e){ Database db = DatabaseFactory.CreateDatabase();
DbCommand cmd = db.GetStoredProcCommand("sp_GET_FEED");
db.AddInParameter(cmd, "@FEED_TYPE_ID", DbType.Int32, 1);
List<NewsItem> _NewsItems = new List<NewsItem>() ;
using (IDataReader r = db.ExecuteReader(cmd))
{
while (r.Read())
{
NewsItem i = new NewsItem();
i.id = r["FEED_ID"].ToString();
i.title = r["TITLE"].ToString();
i.fulltext = r["BODY"].ToString();
i.image = r["IMAGE_URL"].ToString();
i.created = r["DATE_CREATED"].ToString();
i.url = r["URL"].ToString();
_NewsItems.Add(i);
}
}
string json = JsonConvert.SerializeObject(_NewsItems);
//Response.Clear();
Response.AddHeader("Content-type", "text/json");
Response.AddHeader("Content-type", "application/json");
Response.ContentType = "application/json";
Response.Write(json);}
所以我resposne是
/////////////////////////////// JSON输出看起来正确//////////////////////////////
< html> balhhhh我不需要我的回应作为它应该是JSON数据的提要。 </HTML>
答
尝试调用
Response.End();
Response.Write()
后。这将阻止ASP.NET的其余部分从该页面添加HTML。
或者,如果您从不想渲染实际页面,则应该首先考虑编写ASP.NET处理程序(.ashx)而不是页面(.aspx)。
答
我相信你没有删除你的aspx文件中的虚拟标记。只需删除并重试。一切都会安好的。