0
工作,在关于解决方案: ASP.Net: User control with content area, it's clearly possible but I need some details与内容模板ASP.net自定义控件并没有为我
我试图做同样的,这里是我的代码:
控制代码背后:
[ParseChildren(true, "Content")]
[PersistChildren(false)]
public partial class SlidingPanelControl : System.Web.UI.UserControl
{
protected override void OnInit(EventArgs e)
{
phContent.Controls.Add((Control)_content);
base.OnInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
}
private PlaceHolder _content;
[PersistenceMode(PersistenceMode.InnerProperty)]
public PlaceHolder Content { get { return _content; } set { _content = value; } }
}
而且控制ASPX:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SlidingPanelControl.ascx.cs" Inherits="Photography.Controls.MbExtruder.SlidingPanelControl" %>
<div>
<asp:Panel ID="pnlLockable" runat="server" Visible="False">
<asp:PlaceHolder runat="server" ID="phContent" />
</asp:Panel>
</div>
这是我如何用我的主要页面的控制:
<uc1:SlidingPanelControl runat="server" ID="SlidingPanelControl"
Title="About" Position="right" Opacity="1" WidthInPixels="600">
<Content><h1>hello world</h1></Content>
</uc1:SlidingPanelControl>
这并没有为我工作,也没有呈现HTML到控制占位符。虽然当我调试控件的OnInit时,我可以看到_content控件包含我设置的所有html(即本例中的<h1>Hello World</h1>
)
任何猜测我在做什么错?
感谢
尝试两个:(仍然相同的结果 – Bishoy
@Bishoy编辑我的答案与新的解决方案 – Lesmian