我能否在C#中访问我刚创建的HTML控件的高度/宽度?

3
我正在使用以下代码从后端创建DIV控件 - ```html

我正在使用以下代码从后端创建DIV控件 -

```
System.Web.UI.HtmlControls.HtmlGenericControl dynDiv =
    new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
dynDiv.ID = "dynDivCode";
dynDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Gray");
dynDiv.InnerHtml = "I was created using Code Behind";
this.Controls.Add(dynDiv);

一旦创建完成,我想要访问它的高度和宽度。这是否可能?或者在此时它还没有被渲染到屏幕上以使其属性可访问?
编辑:我想要访问新创建的div(DIV1)的宽度,但我也想根据DIV1的宽度修改另一个div(DIV2)控件的宽度。因此,我想读取并修改2个不同的div标签的宽度。

只是为了澄清,当你说“access”时,你的意思是“read”,对吗?你想知道将要呈现的<div>的大小? - FishBasketGordo
@FishBasketGordo,你说得对。我想读取新创建的div标签的宽度。编辑:我想读取宽度,但我还想根据这个标签的宽度改变另一个div标签的宽度。 - neuDev33
@LuisSánchez 我需要解决一些对齐问题。 - neuDev33
你可以向其中注入CSS样式。 - yahya kh
@yahyakh 你的意思是在它被创建之后吗?怎么做? - neuDev33
显示剩余2条评论
2个回答

3

目前还没有确定“宽度”,这完全取决于客户端的渲染方式。您可以获取/设置CSS“style”属性,或获取/设置正确样式元素的CSS类,以在呈现时正确地设置其样式。

您应该能够通过CSS实现您想要做的事情,但如果一切失败,您可以使用Javascript(jQuery)获取呈现大小并将其用于调整其他DIV的大小。


0

我会添加一个 .css 文件,然后使用百分比来获得良好的用户界面。假设我们通过其 id 来识别它们,即 div1div2

你在 .css 文件中的类应该像这样:

#div1 {
    width: 55%;
    height: 50%;
}

#div2 {
    width: 45%;
    height: 50%;
}

然后,将它们包装在另一个 div 中,我们称之为 wrappedDiv,并使用像素来正确设置大小,在 .css 文件中添加这个类。
#wrappedDiv {
    width: 1024px;
    height: 768px;
}

记得在页面的<head>标签中添加.css文件

<link href="~/Content/myNewStyles.css" rel="stylesheet" type="text/css" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接