由于某种原因,我的div标签被包装到此页面上的表单标签中。我能想到的只是asp:literal是罪魁祸首,但我无法想到它为什么会这样?在我的代码隐藏文件中,我正在插入一个表,但是为什么它会让我的页脚div被包含在其中超出我的范围。下面是一个img,显示了谷歌Chrome的开发者输出显示给我的内容,我感到困惑的是为什么它会将页脚div放在那里?
我使用了普通的页脚和主标签,但仍然有相同的结果。我尝试重新做我的div层次结构无济于事。现在我在css中的页脚有一个绝对位置,它与容器div绑在一起,试图让它粘在底部,这确实有助于将它保持在底部,但正如你在图像中看到的那样,它是STILL不在它应该的位置,并且在渲染时它会向右移动,因为我在包含表单的div上设置了样式。啊!
现在我在网站上有三个包含表单的其他页面,这不是问题,这就是为什么我很确定它是在我的代码隐藏文件中创建表的原因。
这是.aspx文件的一部分
<div id="body">
<div class="intro">
<div class="center">
<h2>Current Schedule</h2>
<form id="scheduleForm" runat="server">
<asp:Literal ID="schedule" runat="server" />
</form>
</div>
</div>
</div>
<div id="footer">
<p>2010 © Copyright Central Valley Utilities. All rights reserved. Read Legal policy and Privacy policy.</p>
</div>
</div>
</body>
</html>
这是代码隐藏文件,它为asp:Literal标签创建一个表&#34; schedule&#34;。
if (scheduleRecords.Read())
{
schedule.Text += "<table width='100%' border='1'>";
schedule.Text += "<tr><th>Class</th><th>Days</th><th>Time</th>";
do
{
schedule.Text += "<tr>";
schedule.Text += "<td>" + scheduleRecords["class"] + "</td>";
schedule.Text += "<td>" + scheduleRecords["days"] + "</td>";
schedule.Text += "<td>" + scheduleRecords["time"] + "</td>";
schedule.Text += "</tr>";
} while (scheduleRecords.Read());
schedule.Text += "</tr>";
Google Chrome的JPG输出显示表单上方的页脚
答案 0 :(得分:0)
您有一个</div>
个标记太多,因此{1}}标记在页脚之前就已关闭。
<div id='body'>
删除其中一个div(可能是第二个div)。
此外,您的文字代码不会创建结束表标记。
<div id="body">
<div class="intro">
<div class="center">
<h2>Current Schedule</h2>
<form id="scheduleForm" runat="server">
<asp:Literal ID="schedule" runat="server" />
</form>
</div>
</div>
</div> <-- Here
<div id="footer">
<p>2010 © Copyright Central Valley Utilities. All rights reserved. Read Legal policy and Privacy policy.</p>
</div>
</div> <-- Or Here