Dynamically adding in User Controls

  • Thread starter Thread starter tshad
  • Start date Start date
T

tshad

Is there a way to dynamically add in User Controls where I would get the
name from a session variable:

If I have the following code:
******************************************************************************
<%@ Page Language="VB" trace="false" debug="true" ContentType="text/html"
ResponseEncoding="iso-8859-1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<%@ Register TagPrefix="fts" TagName="Navigate" Src="sdhcNavigate.ascx" %>
<%@ Register TagPrefix="fts" TagName="Navigate" Src="ft2Navigate.ascx" %>
<%@ Register TagPrefix="fts" TagName="Navigate" Src="sbNavigate.ascx" %>

<html>
<head>
<title>:: Staffing Workshop ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body id="myBody" runat="server">
<form id="addForm" runat="server">

<fts:Navigate runat="Server"/>

</form>
</body>
</html>
********************************************************************************

I would like to change it so that I can do something like changing the Src
attribute of the Register statement based on a session variable.

For example if my session variable "company" was either "sdhcNavigate.ascx",
"ft2Navigate.ascx" or "sbNavigate.ascx"

******************************************************************************
<%@ Page Language="VB" trace="false" debug="true" ContentType="text/html"
ResponseEncoding="iso-8859-1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<%@ Register TagPrefix="fts" TagName="Navigate" Src="" %>
<script runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
if not IsPostBack

Set the Src of the control here (or maybe in the html area)

end if
</script
<html>
<head>
<title>:: Staffing Workshop ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body id="myBody" runat="server">
<form id="addForm" runat="server">

<fts:Navigate runat="Server"/>

</form>
</body>
</html>
********************************************************************************

I would use this in all my 50 pages to load the control based on the
company.

Thanks,

Tom
 
Hi,

Page.LoadControl can take name of the UC in and it returns you instance of
the control which you shoiuld add to the Controls collection on the Page.

Dim c As Control = Page.LoadControl("uc.ascx")
addForm.Controls.Add(c)
 
Teemu Keiski said:
Hi,

Page.LoadControl can take name of the UC in and it returns you instance of
the control which you shoiuld add to the Controls collection on the Page.

Dim c As Control = Page.LoadControl("uc.ascx")
addForm.Controls.Add(c)

That was what I was looking for.

Thanks,

Tom
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top