在C#中为jQuery创建XML
我正在尝试为jQuery.get(AJAX)调用生成一些XML,并且我从C#页面收到以下错误: “使用主题css文件需要页面上的标题控件。(例如 )。“
生成XML的文件是一个简单的.aspx文件,完全由以下部分组成:
使用Linq-to-XML进行代码隐藏,工作正常:
XElement xml = new XElement("People", from p in People select new XElement("Person", new XAttribute("Id", p.Id), new XElement("FirstName", p.FirstName))); HttpContext.Current.Response.ContentType = "text/xml"; HttpContext.Current.Response.Write(xml.ToString());
我知道该错误与Web.Config的标记有关,因为当我删除’styleSheetTheme’和’theme’属性时,XML生成正常。 那么问题显然是每个其他页面都失去了它的样式。 所有这些让我觉得我正在接近这个错误。
我的问题是:在C#中生成XML的可接受方式是什么,供jQuery AJAX调用使用,比如说?
如果我返回简单数据(不是页面),我可能不会使用aspx; 这真的是网络forms,但你要归还的不是网络forms。 跳过两种选择:
您还可以尝试(在aspx内)清除响应( Clear()
?)并在之后调用Close()
。 但IMO比使用处理程序更加环绕。
你需要使用theme =“”例子:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ChangePeopleService.aspx.cs" Inherits="ChangeRegister.Person.ChangePeopleService" Theme="" %>
尝试写入Response.OutputStream
:
上述就是C#学习教程:在C#中为jQuery创建XML分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
HttpContext.Current.Response.ContentType = "text/xml"; HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; using (TextWriter textWriter = new StreamWriter(HttpContext.Current.Response.OutputStream, Encoding.UTF8)) { XmlTextWriter writer = new XmlTextWriter(textWriter); writer.WriteString(xml.ToString()); }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1014782.html