2014-09-30 2 views
0

Я хочу отобразить пользовательский элемент управления, который производит различный набор данных в зависимости от значений, которые передаются ему.Передача данных динамически созданному пользовательскому элементу управления ascx

Количество UserControls определяются во время выполнения

  • Теперь вмятина Хит в Page_Load из ascx.cs

Default.aspx

<%@ Register Src="~/UserControl/SquareEUA.ascx" TagName="Square" TagPrefix="EUA" %> 

<body> 
    <div id="divControls" runat="server"></div> 
</body> 

Default.aspx .cs

protected void Page_Load(object sender, EventArgs e) 
    { 
    string[] Property; 
    foreach (string sPropID in Property) 
    { 
SquareEUA userControl = (SquareEUA)Page.LoadControl("~/UserControl/SquareEUA.ascx"); 
     userControl.ID = "MyControl_" + sPropID.Trim(); 
     userControl.sCustID = CustomerID; 
     userControl.sCustPropID = sPropID.Trim(); 
     userControl.Visible = true; 
     divControls.Controls.Add(userControl); 
     userControl.Dispose(); 
    } 
    } 

SquareEUA.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SquareEUA.ascx.cs" Inherits="UserControl.SquareEUA" %> 
<div> 
    // Some HTML Markup 
</div> 

SquareEUA.ascx.cs

public partial class SquareEUA : System.Web.UI.UserControl 
{ 
public string sCustID { get; set; } 
public string sCustPropID { get; set; } 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     // Some Code  
     // Didnt Hit Breakpoint Here; 
    } 
}   

ответ

0

вы должны отдать свой UserControl как фактический класс SquareEUA для доступа к свойствам этого класса

SquareEUA userControl = (SquareEUA)(Page.LoadControl("~/UserControl/SquareEUA.ascx")); 

, что следует сделать трюк (вы должны добавить некоторую обработку ошибок, нулевой чек и т.д.)

редактирования: кажется, я пропустил скобку вокруг (стр ...

+0

так я могу получить доступ к 'userControl.sCustID' и установить значение в default.aspx.cs? – Shaggy

+0

дайте ему попробовать, но он должен работать – fuchs777

+0

Нет, он получает разметку HTML из UserControl. Но почему он не попал в точку останова на 'Page_Load'? – Shaggy