我正在尝试在ASP.Net中创建<asp:Button>
。我现在有以下代码:
<b>Tags:
<%
List<string> tags = GetTags();
foreach(string tag in tags)
{
Response.Write(tag + " ");
}
%>
<br/>
但是,所有这一切都是将文本打印到网页上。我可以在某种程度上修改此语句以允许我用它创建按钮吗?或者我只是坚持文本?
答案 0 :(得分:3)
您无法以这种方式创建服务器端控件。只需像通常使用任何html元素一样在标记中声明控件。例如:
<asp:button id="btnSubmitForm" runat="server" Text="Submit Form" />
如果你想要的是在你的标记上创建简单的标签;做这样的事情:
<asp:ContentPlaceHolder id="tagPlaceHolder" runat="Server">
</asp:ContentPlaceHolder>
在服务器端:
List<BrainStorm.Tags> tags = BrainStorm.PostRunner.GetTagsForPost((long)Double.Parse(hiddenField.Value));
foreach(BrainStorm.Tags tag in tags)
{
Button b = new Button();
b.Text=tag.Title;
tagPlaceHolder.Controls.Add(b);
}
这会为ContentPlaceHolder
更新:
转发器里面......
protected void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
ContentPlaceHolder placeHolder = ((ContentPlaceHolder)e.Item.FindControl("tagPlaceHolder"));
}
}