我很困惑,w3c验证服务似乎在说,asp.net不能合法地在页面上的表单标记中呈现一个隐藏字段,请看一下.
http://validator.w3.org/check?uri=http%3a%2f%2fmotcombegarage%2eco%2euk%2f
据我所知,它似乎是在说下面的代码示例是无效的标记WTF!
<html>
<head> ... header stuff ... </head>
<body>
<form method="post" action="" id="ctl01">
<div class="aspNetHidden">
<input type="hidden" name="ctl09_HiddenField" id="ctl09_HiddenField" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTY1NzEyODQ1M2RkJPtW5VtaL7LPuSxnn1JM1yVnOeGAovb8b4b3KShHy4M=" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKt17cxAr+s9MgFAqjXzJsHz7KyzLpZjYtTK89blY7GgKAElK/5syvVNn4h7rVehcQ=" />
</div>
... other code ...
</form>
</body>
</html>如果代码实际上是无效的,这将给我带来两个问题:
这是个虫子还是我做错什么了?
编辑:正如Peter O在下面指出的,我在标记中添加了丢失的div标记.将它与验证器使用的标记进行比较表明,这个div存在于标记中,显然不值得验证.所以这个问题变成了..。它为什么要忽略那个div?
似乎有点奇怪,你不能把一个输入标签直接在一个表单标签内,尽管.当然,这就是表单标签的意义,包含输入标记?
发布于 2011-06-26 14:56:55
我想要摆脱这条消息的唯一方法,就是按照你主页上的代码,给第一个隐藏的输入分配一个值
<div class="aspNetHidden">
<input type="hidden" name="ctl09_HiddenField" id="ctl09_HiddenField" value="toverton" />
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTY1NzEyODQ1M2RkJPtW5VtaL7LPuSxnn1JM1yVnOeGAovb8b4b3KShHy4M=" />
</div>在所有的可能性中,这很可能是一个bug。
发布于 2011-06-26 14:49:46
输入元素应该放在DIV元素中,如下所示:
<form ... >
<div>
<input type="hidden" ... />
<input type="hidden" ... />
<input type="hidden" ... />
</div>
</form>https://stackoverflow.com/questions/6484642
复制相似问题