我在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
我缺少一些设置吗?
答案 0 :(得分:2)
显然问题出在Microsoft .NET运行时中
在项目菜单下的MonoDevelop中,有子菜单Active Runtime
将它从Microsoft .NET切换到Mono可以解决问题!
答案 1 :(得分:1)
我不认为这与Mono有关。将<html>
更改为<html xmlns='http://www.w3.org/1999/xhtml'>
。
答案 2 :(得分:1)