c# - 如何在特定位置呈现用户控件子项?

标签 c# asp.net

我有一个非常简单的用户控件,如下所示:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="wfWindow.ascx.cs" Inherits="webfanatix.co.za.wfWindow" %>
<div>Just a test...[x]</div>

后面有这段代码:

[ParseChildren(false)]
[PersistChildren(true)]
public partial class wfWindow : System.Web.UI.UserControl
{
    protected override void Render(HtmlTextWriter writer)
    {
        RenderChildren(writer);
    }
}

其用法如下所示:

<wf:wfWindow runat="server">This content should go where [x] is.</wf:wfWindow>

我不是 ASP.NET 专业人士,那么如何让内容准确呈现在我的用户控件中出现 [x] 的位置?

RenderChildren 正在呈现我的内容,但它仅附加到 UserControl 输出的末尾。我需要它去并坐在 [x] 标记的位置。

提前致谢!

最佳答案

将 [X] 更改为它自己的控件,可以容纳其他控件,例如占位符或面板。

然后覆盖AddParsedSubObject() .这个的默认实现只是将控件添加到 usercontrol 的 Controls 集合中——这意味着它们被添加到最后。覆盖它以将它们添加到您的占位符。

   protected override void AddParsedSubObject(Object obj) 
   {
         PanelWhereXIs.Add(obj);
   }

关于c# - 如何在特定位置呈现用户控件子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024320/

相关文章:

c# - 在代码后面存储变量的最佳方法是什么?

asp.net - httpmodules(Classic Mode) Vs Modules (Integrated mode) 不以同样的方式解析请求

asp.net - “Failed to enable constraints”错误在我的ASP.Net项目中不断出现(看似随机)

c# - NHibernate SysCache2 和查询缓存 - 无法避免 Select N+1?

C# 按名称中的自然数顺序对文件进行排序?

c# - 每当浏览器在 asp.net 中关闭时,是否可以清除 session ?

c# - 在动态创建的 Pages() 上覆盖 VerifyRenderingInServerForm

c# - Telerik RadWindows/如何使用 DocMenu 打开 Telerik RadWindows

c# - 如何使用 AutoMapper 将单个属性映射到集合的每个元素的属性?

c# - .Net 核心模型绑定(bind) JSON 发布到 Web API