单声道可以产生有效的xhtml吗?

时间:2010-04-16 18:13:07

标签: xhtml mono monodevelop

我在Windows PC上安装了Mono和MonoDevelop 2.2 创建了一个默认的C#ASP.NET Web应用程序项目 这是它创建的Default.aspx:

<%@ Page Language="C#" Inherits="test.Default" %>    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">    
<html>    
<head runat="server">    
    <title>Default</title>    
</head>    
<body>    
    <form id="form1" runat="server">    
        <asp:Button id="button1" runat="server" Text="Click me!" OnClick="button1Clicked" />    
    </form>    
</body>    
</html>

当我运行它时,它会将此html提供给浏览器:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head><title>
    Default
</title></head>
<body>
    <form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTQ2OTkzNDMyMWRkjWseIg+2HCgaNiY+XHmVKEq/CFg=" />
</div>

<div>

    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgLB5qLABwKs34rGBvJAYc3UJn3AcjSPjq8DVpMxclAk" />
</div>

        <input type="submit" name="button1" value="Click me!" id="button1" />
    </form>
</body>
</html>

XHTML验证失败,有3个错误:
1.第3行,第1列:缺少元素html的xmlns属性。值应为:http://www.w3.org/1999/xhtml
2.第8行,第13栏:没有属性“名称”
3.第17行,第71列:文档类型不允许元素“输入”;缺少“p”,“h1”,“h2”,“h3”,“h4”,“h5”,“h6”,“div”,“pre”,“address”,“fieldset”,“ins”中的一个,“del”start-tag

我缺少一些设置吗?

3 个答案:

答案 0 :(得分:2)

显然问题出在Microsoft .NET运行时中 在项目菜单下的MonoDevelop中,有子菜单Active Runtime 将它从Microsoft .NET切换到Mono可以解决问题!

答案 1 :(得分:1)

我不认为这与Mono有关。将<html>更改为<html xmlns='http://www.w3.org/1999/xhtml'>

答案 2 :(得分:1)