如何在内容页中添加面板
本文关键字:添加 | 更新日期: 2023-09-27 17:49:36
我必须在内容页中找到一个面板,并需要在该面板上添加一个下拉列表。我已经搜索了,但我只有添加控件到母版页。下面是我的代码,注意:我必须从该页本身添加控件,而不是从母版页
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Salesorder.aspx.cs" Inherits="Salesorder" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script src="assets/plugins/jquery-1.10.2.js"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="row">
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</div>
</asp:Content>
我需要从codebehind添加另一个面板到Panel1。
protected void Page_PreInit(object sender, EventArgs e)
{
//Create a Dynamic Panel
Panel pnlDropDownList;
pnlDropDownList = new Panel();
pnlDropDownList.ID = "pnlDropDownList";
pnlDropDownList.BorderWidth = 1;
pnlDropDownList.Width = 300;
ContentPlaceHolder cph = (ContentPlaceHolder)this.Page.FindControl("ContentPlaceHolder1");
Panel panel = (Panel)cph.FindControl("Panel1");
cph.Controls.Add(pnlDropDownList);
}
是的,你需要在Master而不是Page中找到你的控件。
像下面。
ContentPlaceHolder cph = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
在你想要在aspx页面中添加新的下拉列表面板的面板中添加PlaceHolder控件
<asp:Panel ID="Panel1" runat="server">
<asp:PlaceHolder ID="placeholder1" runat="server"></PlaceHolder>
</asp:Panel>
在后面的代码中,使用
将控件添加到页面中placeholder1.Controls.add(pnlDropDownList);
我不明白你为什么不添加这样的控件
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
<asp:Panel ID="Panel1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
</asp:Panel>
</asp:ContentPlaceHolder>