有没有办法制作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("   "+"{0}", reader.GetString(0))));
div.Style["clear"] = "both";
test1.Controls.Add(div);
}
答案 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 ;