【问题标题】:Rendering an asp.net user control in a Panel在面板中呈现 asp.net 用户控件
【发布时间】:2019-03-20 20:01:56
【问题描述】:

我创建了这个 asp.net 用户控件(只是这个堆栈溢出帖子的一个示例)

HTML:

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ucBTN.ascx.vb" Inherits="EBC_SAK_MVV_BTN.web.ucBTN" %>

<div>
    <asp:Button ID="btnLeft" runat="server" Width="200" Height="100" CssClass="btn btn-sq-lg btn-primary" Text="Button-Left" />
    <asp:Button ID="btnMiddle" runat="server" Width="200" Height="100" CssClass="btn btn-sq-lg btn-primary" Text="Button-Middle" />
    <asp:Button ID="btnRight" runat="server" Width="200" Height="100" CssClass="btn btn-sq-lg btn-primary" Text="Button-Right" />
</div>

后面的代码:

Public Class ucBTN
    Inherits System.Web.UI.UserControl
    Public Property TextLeft As String
    Public Property TextMiddle As String
    Public Property TextRight As String
End Class

当我在页面中使用此用户控件时,它可以工作(test.aspx):

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/EBC.Master" CodeBehind="TEST.aspx.vb" Inherits="EBC_SAK_MVV_BTN.web.TEST" %>

<%@ Register Src="~/ucBTN.ascx" TagPrefix="uc1" TagName="ucBTN" %>
<uc1:ucBTN runat="server" ID="myBTN" />

但是当我向我的页面添加一个面板并将我的用户控件添加到该面板时它保持空白:

HTML:

<asp:Panel ID="Panel1" runat="server"></asp:Panel>

后面的代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim BTN As New ucBTN
BTN.TextLeft = "LEFT"
BTN.TextMiddle = "MIDDLE"
BTN.TextRight = "RIGHT"
Panel1.Controls.Add(BTN)
End Sub

我想在运行时创建几十个这样的控件 - 如何将它们添加到我的面板中?

【问题讨论】:

    标签: asp.net vb.net user-controls


    【解决方案1】:

    使用 PlaceHolder 代替面板

    在用户控制中使用:

     

    在代码后面使用:

     PlaceHolder1.Controls.Add(BTN)

    【讨论】:

    • 好吧,也不起作用 - 虽然我知道如果我想添加控件,我必须使用 PlaceHolder。将新按钮和我的用户控件添加到占位符时,仅显示按钮。
    • 字符串 _ascxPath = @"~/ucBTN.ascx";控件控件 = Page.LoadControl(_ascxPath); Panel1.Controls.Add(control);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多