动态添加链接按钮

时间:2009-06-12 12:53:21

标签: c# asp.net .net

我有一个母版页和内容占位符。在contentplaceholder中,有一个占位符,我插入一个动态链接按钮。当我运行页面链接按钮时,页面上没有显示。

for (int i = 0; i < UserCredentialsDT.Rows.Count; i++)
{
    switch (Convert.ToInt32(UserCredentialsDT.Rows[i]["RoleId"]))
    {
        case (int)Helper.UserRole.Administrator:
            Session[AppConstants.ROLEID] = UserCredentialsDT.Rows[i]["RoleId"];
            LinkButton lnkAdmin = new LinkButton();
            lnkAdmin.Text = "Admin";
            lnkAdmin.ID = "lnkAdmin" + i.ToString();
            PlaceHolder1.Controls.AddAt(PlaceHolder1.Controls.Count, lnkAdmin);
            lnkAdmin.Visible = true;
            lnkAdmin.PostBackUrl = PresentationConstant.ASPX_ADMINSETTINGS;
            break;
     }
 }

2 个答案:

答案 0 :(得分:3)

如果您动态添加此内容,则可能需要确定要使用的页面循环的哪个阶段。这也可能因其他因素而异。但肯定会读到你的PreInit,Init和Load事件。

答案 1 :(得分:2)

这不能在MasterPages ContentPlaceHolder中完成,ContentPlaceHolder适用于使用MasterPage的WebForms。我建议将PlaceHolder控件放在ContentPlaceHolder之外。

来自MSDN:

  

ContentPlaceHolder控件定义了一个   a中内容的相对区域   母版页,并呈现所有文字,   标记和服务器控件来自   在a中找到相关的内容控件   内容页面。