如何在ASP.NET中使用ContentPlaceHolder来填充页面?

时间:2011-12-05 15:30:59

标签: asp.net html vb.net

我有一个母版页面和许多使用它的页面。在一个或两个页面上,没有足够的内容来填充整个页面。这会导致页脚出现在屏幕中间附近,并且背景在页面底部可见。我想知道是否有可能让ContentPlaceHolder自动生成空格以强制页脚到页面底部。我查看了母版页的代码,但没有看到任何强制ContentPlaceHolder大小的内容。我还检查了我遇到问题的两个页面,并没有看到任何明确的大小声明。我也谷歌这个问题,并没有看到任何有用的东西。也许我不知道正确的搜索条件...

我在这里看到了类似的问题,但它是针对DIV标签的。我没有使用DIV标签。

谢谢!

<body runat="server" id="main">
    <div id="wrap">
        <form id="template_form" method="post" enctype="multipart/form-data" runat="server">
            <table id="Table1" cellspacing="0" cellpadding="0" width="800" align="center" border="0"
                runat="server">
                <tbody>
                    <tr>
                        <td valign="middle" width="800" colspan="2"><uc1:header id="Header" runat="server"></uc1:header></td>
                    </tr>
                    <tr>
                        <td width="800" colspan="2" height="7"><asp:image id="imgShadow" runat="server" 
                                Height="100%" Width="100%" ImageUrl="~/Images/new_header_shadow.jpg" 
                                AlternateText="Shadow"></asp:image></td>
                    </tr>
                    <tr><td colspan="2" style="height: 24px"><uc1:betabadge id="BetaBadge1" runat="server"></uc1:betabadge></td></tr>
                    <tr valign="top">
                        <td width="0" height="100%"><uc1:sidebar id="Sidebar1" runat="server"></uc1:sidebar></td>
                        <td class="Content" width="790" height="330"><asp:contentplaceholder id="ContentPlaceHolder1" runat="server"></asp:contentplaceholder>
                            <!-- content goes here --></td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <table cellpadding="5">
                                <tr>
                                    <td><uc1:feedback id="FeedBack1" runat="server" DESIGNTIMEDRAGDROP="259"></uc1:feedback></td>
                                </tr>
                                <tr>
                                    <td><uc1:footer id="Footer2" runat="server"></uc1:footer></td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </tbody></table>
        </form>
    </div>
</body>

4 个答案:

答案 0 :(得分:1)

ContentPlaceHolders不输出任何HTML。您应该在内容占位符周围放置div标记,然后使用CSS指定最小高度值。这将提供您正在寻找的空白区域。

答案 1 :(得分:0)

你不想用“空格”来做这件事,你会想用CSS做这件事。

查看将页脚对接到页面底部。

这是一篇文章:MAKING YOUR FOOTER STAY PUT WITH CSS

答案 2 :(得分:0)

你应该用CSS来做这件事。

看看this website。它包含您需要的一切。

答案 3 :(得分:0)

除了可能真的很难做到,如果不是不可能的话,用空行填充ContentPlaceHolder的内容也不是真正用户友好的 - 因为真正应该显示多少可用空间可能还取决于用户的屏幕大小!

我建议在占位符周围的容器上使用CSS min-height属性。