1

我的 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显示?

4

1 回答 1

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

于 2013-07-03T04:50:42.070 回答