有没有办法制作div runat服务器?所以我可以把它变成一个控件?

时间:2011-03-28 18:20:23

标签: c# asp.net html

有没有办法制作div runat服务器?所以我可以把它变成一个控件?在asp.net?

EDIt:

如果是这样,我如何告诉我的代码使div ID = test runat server?

            while (reader.Read())
            {
                System.Web.UI.HtmlControls.HtmlGenericControl div = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
                div.Attributes["class"] = "test";
        //div.Style["float"] = "left";

                div.ID = "test";
                Image img = new Image();
                img.ImageUrl = String.Format("{0}", reader.GetString(1));
                // this line needs to be represented in sql syntax
                //img.ImageUrl = "~/userdata/2/uploadedimage/batman-for-facebook.jpg";
                img.AlternateText = "Test image";

                div.Controls.Add(img);
                div.Controls.Add(ParseControl(String.Format("&nbsp&nbsp "+"{0}", reader.GetString(0))));
                div.Style["clear"] = "both";
                test1.Controls.Add(div);

            }

5 个答案:

答案 0 :(得分:23)

<div runat="server"></div>

将使其成为服务器端控件。您可以使用

在后面的代码中生成它
var myDiv = new HtmlGenericControl("div");

编辑:您生成的是服务器端控件,无需添加runat="server"

根据评论编辑:

<div onclick="alert('hello')" runat="server"></div>

var myDiv = new HtmlGenericControl("div");
myDiv.Attributes.Add("onclick", "alert('hello');");

答案 1 :(得分:14)

你可以创建一个div runat =“server”,给它一个id并从C#引用它,如果这就是你所追求的。但是,为什么不只是使用asp:面板,他们基本上做同样的工作,面板在大多数情况下渲染div

答案 2 :(得分:10)

asp:Panel在呈现时是一个DIV

答案 3 :(得分:-1)

它绝对不是最优雅的解决方案,但添加一个文字控件并从代码中构建你的div就可以了。

答案 4 :(得分:-1)

ASPX代码

<div id="alert" runat="server" style="float: left">

</div>

C#代码

alert.InnerHtml= ANY HTML CODE  ;