我的div神秘地包裹在我的身体里。我该如何解决?

时间:2016-05-13 01:07:09

标签: html css asp.net

由于某种原因,我的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输出显示表单上方的页脚

enter image description here

1 个答案:

答案 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