我的aspx页面中有以下代码:
<asp:Literal ID="ltPost" runat="server"></asp:Literal>
这在我的代码背后:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
BindData();
}
}
protected void BindData() {
str.Append(@"<asp:Button ID=*btnEditReply* runat=*server* CssClass=*button-action m-r-5* Text=*Sửa phản hồi* ValidationGroup=*AddSave*/>");
ltPost.Text = str.ToString().TrimEnd(',').Replace('*', '"');
}
我不明白这一点;为什么按钮btnEditReply
不会显示?
答案 0 :(得分:1)
要添加服务器控件,您必须使用Controls.Add()
。此外,您无法向文字添加按钮,因此最好使用占位符。
C#:
Button editButton = new Button();
editButton.ID = "btnEditReply";
editbutton.Text = "Sửa phản hồi";
// .. etc
placeHolder.Controls.Add(editButton);
HTML:
<asp:Placeholder id="placeHolder" runat="server" />
参考:http://msdn.microsoft.com/en-us/library/kyt0fzt1(v=vs.100).aspx