【问题标题】:asp.net, Panel Widthasp.net,面板宽度
【发布时间】:2026-01-26 02:25:01
【问题描述】:

我使用的是 .net 2005。因为我有母版页和内容页,我在内容中使用面板。

有人知道如何在运行时根据屏幕尺寸设置面板宽度吗?

谢谢

【问题讨论】:

  • 你能详细说明“屏幕尺寸”吗?您是否只想将面板设置为其容器的 100% 或更大?

标签: c# asp.net panel


【解决方案1】:

在面板上设置 css 类属性

<asp:Panel CssClass="fullWidth" ID="MyPanel" runat="server">
</asp:Panel>

然后从您的母版页链接到外部 css 样式表并设置以下内容

.fullWidth
{
    width: 100%;
}

注意:这会将具有类 fullWidth 的任何元素的宽度设置为其父元素宽度的 100%,也可以用于其他元素

【讨论】:

  • Kartik 询问屏幕尺寸,如您所说,您的解决方案只会将面板放大到父宽度。
  • 我认为,从 Kartik 的回复来看,这就是他真正想要的。我赞成这个。
【解决方案2】:

在body标签的onload事件上添加一个javascript函数来调整你的面板宽度。

注意,此代码未经语法验证输入。

<script language="javascript" type="text/javascript">
    function Resize(item, width)
    {
        document.getElementById(item).width = width;
    }
</script>

<body onload="Resize(<%= Mypanel.ClientID %>, screen.width)">

【讨论】:

  • 如果您等到 window.onload 事件触发,您可能会在页面加载后几秒钟内获得面板似乎跳到宽度的效果
  • 如果您没有 body 标签,则您的 HTML 无效。至少应始终为