动态添加链接按钮
问题描述:
我有一个母版页和内容占位符。在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;
}
}
答
如果您正在动态添加此项,您可能需要确定要使用哪个阶段的页面循环。这可能因其他因素而异。但肯定会在您的PreInit,Init和Load事件中进行阅读。
答
这不能在MasterPages ContentPlaceHolder内完成,ContentPlaceHolder用于使用MasterPage的WebForms。我建议将你的PlaceHolder控件放在ContentPlaceHolder之外。
从MSDN:
甲ContentPlaceHolder控件限定 相对区域用于在 主页的内容,并使得所有文字, 标记,并从在 发现 相关内容控制服务器控制内容页。
那个占位符是否在与当前页面不同的内容占位符中?你能参考它吗?如果你想改变这个,你需要将代码放在Page_PreInit(object sender,EventArgs e)事件处理程序中,并且AutoEventWireUp应该设置为true才能工作。 – 2011-09-01 13:05:22