以编程方式将控件放置在 div 中

Posted

技术标签:

【中文标题】以编程方式将控件放置在 div 中【英文标题】:Programmatically place a control inside a div 【发布时间】:2011-03-25 19:16:01 【问题描述】:

我想在我的 aspx 页面上的特定 <div> 中放置一个自定义树视图,以 C# 编程方式。想法?

【问题讨论】:

您需要提供更多信息,treeview 是否包含在某些内容中?也许是一个div?你想在页面生成时在服务器端执行,还是在通过 javascript 加载时在本地执行,也许使用 jQuery? 【参考方案1】:

我假设到目前为止,您的大多数 asp.net 只是在声明方面?

首先你需要一个 ASP.net 可以看到的 div,我会使用一个 asp:Panel。

然后只需以编程方式创建一个 TreeView 并将其添加到面板的控件集合中。

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    
        TreeView treeView = new TreeView();

        // Do whatever you need to fill out your TreeView

        Panel1.Controls.Add(treeView);
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Test</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:Panel ID="Panel1" runat="server">
    </asp:Panel>
    </form>
</body>
</html>

如果您的面板深埋在其他控件(例如中继器等)中,您会遇到麻烦,在这种情况下,您必须在父容器上使用 .FindControl("Panel1") 来获得握住面板。

【讨论】:

【参考方案2】:

要么:

在 div 上使用 runat="Server" 指令

使用 Asp:Panel(呈现为 div)

然后

使用standard method动态添加控件。

用线

myDiv.Controls.Add(myTreeview);

【讨论】:

以上是关于以编程方式将控件放置在 div 中的主要内容,如果未能解决你的问题,请参考以下文章

用于以编程方式创建的用户控件的C#Winform Click事件[复制]

ios - 如何使用ios swift中的自动布局以编程方式将两个标签并排放置在中心位置?

以编程方式将控件添加到 WPF 表单

如何在视图中放置以编程方式生成的位图?

以编程方式将控件添加到WPF表单

WinForm C#如何将方法附加到以编程方式创建的控件