我正在使用css使用它的id来配置这个div的属性,但它不起作用,也许是因为我在后面的代码中用c#创建它,我该如何解决? C#
StringBuilder sb = new StringBuilder();
sb.Append(@"<div id=""img1"" runat=""server"">Vidal</div>");
Label1.Text = sb.ToString();
的CSS
#img1{
position: absolute;
top: 20px;
left: 20px;
width: 253px;height: 190px;
}
答案 0 :(得分:3)
我会使用一个类而不是一个ID。此外,您不需要将其设为div,因为您的Label将呈现为跨度。您只需设置CssClass
和Text
属性。
Label1.CssClass = "someClass";
Label1.Text = "Vidal";
.someClass
{
position: absolute;
top: 20px;
left: 20px;
width: 253px;
height: 190px;
}
答案 1 :(得分:1)
您不能使用标签控件来显示html内容,使用文字控件或面板如下
Panel div = new Panel();
div.ID = "img1";
div.Controls.Add(new Literal{Text = "Vidal"});
this.Controls.Add(div);
答案 2 :(得分:1)
我认为,出于您的目的,使用asp:文字控制可能会更好:
StringBuilder sb = new StringBuilder();
sb.Append("<div class=\"image-css-selector">Vidal</div>");
Literal1.Text = sb.ToString();
标签控件将拥有自己的标记,这可能会影响您的HTML代码
答案 3 :(得分:0)
如果您使用的是单个网络表单,请确保您没有多个ID。如果您正在使用母版页,并且您确实需要div的runat="server
属性,那么您需要更改这样的css:
#ContentPlaceHolder_img1{
position: absolute;
top: 20px;
left: 20px;
width: 253px;height: 190px;
其中ContentPlaceHolder
是您为内容占位符提供的ID的名称。例如:
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
在您的母版页中。