【问题标题】:ASP.NET How do I set the position of a control at runtime?ASP.NET 如何在运行时设置控件的位置?
【发布时间】:2023-03-10 19:45:02
【问题描述】:

我正在使用下面的代码向页面添加标签,我将如何设置标签的位置(即右上角)?

Label lbl = new Label();
lbl.Text = "Test";
lbl.ForeColor = System.Drawing.Color.Black;
lbl.Font.Size = 10;
lbl.Font.Bold = false;
lbl.Font.Name = "Arial";
Page.Controls.Add(lbl);

谢谢

更新: 我真的需要避免使用可以通过编辑服务器上运行的文件来更改的任何内容,这就是我尝试在运行时执行此操作的原因。

【问题讨论】:

标签: asp.net


【解决方案1】:

将 PlaceHolder 控件添加到页面中要添加标签的位置,然后将该控件添加为 PlaceHolder 的子控件,例如。

<asp:PlaceHolder ID="LabelPlaceHolder" runat="server">
</asp>

然后……

LabelPlaceHolder.Controls.Add(lbl);

不过,通常情况下,您要避免在运行时动态添加控件。通过内联属性设置样式也是如此(改用 CSS)。如果您只希望标签在特定情况下出现,请将其添加到页面中,并将其 Visible 属性设置为 False,然后将其设置为 true,以便在您希望看到它时显示。

【讨论】:

  • 谢谢你,请看我上面的更新,基本上我想避免在aspx页面中添加任何东西。
【解决方案2】:

我建议您使用 CSS 进行所有格式化等操作 - 因此,在运行时您只需为控件指定一个 css 类,然后让浏览器完成其余的工作。

【讨论】:

  • 我同意这一点。将所有样式放在一个 css 文件中使站点更易于维护。当人们从代码隐藏中设置样式时,我总是觉得很烦人。
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 2013-01-25
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
相关资源
最近更新 更多