0

我正在使用以下代码在 c# 中创建一个 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.Style.Add(HtmlTextWriterStyle.Height, "20px");
            dynDiv.Style.Add(HtmlTextWriterStyle.Width, "300px");
            dynDiv.InnerHtml = "I was created using Code Behind";

            this.Controls.Add(dynDiv);

但这并没有做任何事情,事实上它在最后一行给出了一个错误,即 dynDiv 不是一个有效的参数。我想在这里使用div来模拟缓存行和单词在缓存中的放置。请告诉我怎么做

4

4 回答 4

4

您可以将 html 嵌入到文字控件中。

this.Controls.Add(new LiteralControl("<div style='color: gray; height: 20px; width: 300px;'>I was created using Code Behind</div>"));
于 2013-04-01T15:51:02.233 回答
0

使用文字控制

HTML (示例)

<asp:Panel ID="panel" runat="server"> </asp:Panel>

C#

//并根据需要创建样式

panel.Controls.Add(new LiteralControl("<div style='color: gray; height: 20px; width: 300px;'>I was created using Code Behind</div>"));
于 2013-04-01T15:49:28.900 回答
0

我按照Diogo Severiano说的做了,而且效果很好。

在我的情况下,我需要将控件添加到 div 并且我不能使用文字控件,因为智能感知标记:“控件不能添加到文字控件”。

如果是这样,就照他的做。

Label lblParaname = new Label(); lblParaname.Text = Record.Parameter_Name + ": "; lblParaname.ID = "lbl" + Record.Parameter_Name; lblParaname.EnableViewState = true; lblParaname.Attributes.Add("cssclass", "grid_3 alpha omega"); Panel pLblContainer = new Panel(); pLblContainer.CssClass = "grid_3"; pLblContainer.Controls.Add(lblParaname); pSubsPar.Controls.Add(pLblContainer);

于 2014-03-06T16:13:54.000 回答
0

也许这会有所帮助: 在 Windows 窗体中将面板添加到 SplitContainer

    Panel panel = new Panel();
    Label lbl = new Label();
    public Form1()
    {
        InitializeComponent(); 
        panel.BackColor = Color.Gray;
        panel.Height = 20;
        panel.Width = 300;
        lbl.Text = "I was created using Code Behind";
        panel.Controls.Add(lbl);

        dynDiv.Panel1.Controls.Add(panel);
    }

因为你说这就是你想要的

于 2013-04-01T16:44:30.497 回答