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

G G*_* Gr 8 html c# asp.net

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

编辑:

如果是这样我怎么能告诉下面的代码使div ID = test runat服务器?

            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);

            }
Run Code Online (Sandbox Code Playgroud)

Yur*_*ich 26

<div runat="server"></div>
Run Code Online (Sandbox Code Playgroud)

将它作为服务器端控件.您可以在后面的代码中使用它生成它

var myDiv = new HtmlGenericControl("div");
Run Code Online (Sandbox Code Playgroud)

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

根据评论编辑:

<div onclick="alert('hello')" runat="server"></div>
Run Code Online (Sandbox Code Playgroud)

要么

var myDiv = new HtmlGenericControl("div");
myDiv.Attributes.Add("onclick", "alert('hello');");
Run Code Online (Sandbox Code Playgroud)


Haw*_*xby 14

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

  • 虽然asp:panel确实在大多数浏览器中创建了div,但并不保证在所有浏览器中都这样做.它取决于web.config或machine.config中browserCaps元素内的设置. (3认同)

Dav*_*ter 10

asp:Panel在呈现时是一个DIV