欢迎光临

木子屋

标题: XML declaration not at beginning of document

作者: dnawo

日期: 2010-03-17 03:45 PM

分类: Web编程

内容: 在VS2008下建了一个WAP母版页，代码如下：
WAP_MasterPage.master：
复制内容到剪贴板 程序代码<%@ Master Language="C#" AutoEventWireup="true" CodeFile="WAP_MasterPage.master.cs" Inherits="MasterPage_WAP_MasterPage" %>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Wap">
<p>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>
</p>
</card>
</wml>
放在Opera测试时老出错，提示：XML declaration not at beginning of document。
查看源代码，发现在xml声明前边多了一个空白行，所以Opera报错说xml声明不是在文档的最开始：
郁闷的是怎么弄那空白行都删除不了，再查看其他普通的ASPX页，发现第一行也都是空白行。后来突然想起以前有测试过在Page_Load事件中输出的文本是从顶行开始的，便想将xml声明放在Page_Load中输出，测试下了，果然可以，Opera也不报错了。
WAP_MasterPage.master：
复制内容到剪贴板 程序代码<%@ Master Language="C#" AutoEventWireup="true" CodeFile="WAP_MasterPage.master.cs" Inherits="MasterPage_WAP_MasterPage" %>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Wap">
<p>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>
</p>
</card>
</wml>
WAP_MasterPage.master.cs：
复制内容到剪贴板 程序代码using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class MasterPage_WAP_MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
}
}
2010-03-29补充：将xml声明放到第1行也可解决问题
复制内容到剪贴板 程序代码<%@ Master Language="C#" AutoEventWireup="true" CodeFile="WAP_MasterPage.master.cs" EnableViewState="false" Inherits="MasterPage_WAP_MasterPage" %><?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Wap">
<p>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

</asp:ContentPlaceHolder>
</p>
</card>
</wml>

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.769 ms

返回

标题: XML declaration not at beginning of document

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.769 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.800 ms

返回