User Controls not referencing on Page - asp.net

I'm referencing some user controls at the top of my page
however when I try to use the control its saying that the element is not a know element for page_header. I'm tearing my hair out with this can anyone help please?
<%# Page Language="VB" AutoEventWireup="false" CodeFile="automation_provisioning.aspx.vb" Inherits="customers_automation_provisioning" %>
<%# Register TagPrefix="cc" Namespace="Chessplc.Common.App.UI.Controls" Assembly="Chessplc.Common.App" %>
<%# Register TagPrefix="cc" Namespace="Chessplc.Common.App.UI.Validators" Assembly="Chessplc.Common.App" %>
<%# Register Src="../App_UserControls/paging_listview.ascx" TagName="paging_listview" TagPrefix="uc" %>
<%# Register Src="../App_UserControls/meta.ascx" TagName="meta" TagPrefix="uc" %>
<%# Register Src="../App_UserControls/page_header.ascx" TagName="page_header" TagPrefix="uc" %>
<%# Register Src="../App_UserControls/page_footer.ascx" TagName="page_footer" TagPrefix="uc" %>
<%# Register Src="../App_UserControls/menu_customers.ascx" TagName="menu_customers" TagPrefix="uc" %>
<%# Register Src="../App_UserControls/menu_contract.ascx" TagName="menu_contract" TagPrefix="uc" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<uc:page_header ID="ucHeader" runat="server" />
<form id="form1" runat="server">
<div>
<div id="main_content">
</div>
</div>
</form>
</body>
</html>
Thanks
Chris

Related

is it possible to see one user control on other user control?

I got one problem, I have three user controls say Control1,control2, control3.
I want to make Control1 into 3 divs and see contol1 UI in first part
control2-2nd part of div
Control3- in 3 Part of div
Is it possible?
I wanted to do this just for the sake i can maintain with less code .Is there any alternative .other this which will suit me best.
Please suggest
Yes, you can put multiple user control on a single user control. However your question is down voted the solution of your problem is as given below :
Create a sample website. Add Webusercontrol1.ascx ,Webusercontrol2.ascx, Webusercontrol3.ascx, Webusercontrol4.ascx in it and modify the code as given below.
Default.aspx page html
<%# Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="SO_1._Default" %>
<%# Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<uc1:WebUserControl1 ID="WebUserControl11" runat="server" />
</asp:Content>
UserControl-1 Html : This is container user control and this will have all required user control on it.
<%# Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"
Inherits="SO_1.WebUserControl1" %>
<%# Register Src="WebUserControl1.ascx" TagName="WebUserControl2" TagPrefix="uc1" %>
<%# Register Src="WebUserControl2.ascx" TagName="WebUserControl2" TagPrefix="uc2" %>
<%# Register Src="WebUserControl3.ascx" TagName="WebUserControl3" TagPrefix="uc3" %>
<%# Register Src="WebUserControl4.ascx" TagName="WebUserControl4" TagPrefix="uc4" %>
<p>
<b>DIV-1 Container User control</b></p>
<div>
<b>DIV1</b>
<br />
<uc2:WebUserControl2 ID="WebUserControl21" runat="server" />
</div>
<div>
<b>DIV2</b>
<br />
<uc3:WebUserControl3 ID="WebUserControl31" runat="server" />
</div>
<div>
<b>DIV3</b>
<br />
<uc4:WebUserControl4 ID="WebUserControl41" runat="server" />
</div>
UserControl-2 html
<%# Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="SO_1.WebUserControl2" %>
User Control-1
UserControl-3 html
<%# Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="SO_1.WebUserControl2" %>
User Control-2
UserControl-4 html
<%# Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl2.ascx.cs" Inherits="SO_1.WebUserControl2" %>
User Control-3

Control directive is not allowed in .aspx file

I am trying to follow the Microsoft instructions on how to create a user control
my aim is to convert the .aspx file
<%# Page Language="C#" Title="Customize the queue UI" %>
<%# Register TagPrefix="CuteWebUI" Namespace="CuteWebUI" Assembly="CuteWebUI.AjaxUploader" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
</head>
<body>
<form id="Form1" runat="server">
<CuteWebUI:Uploader ID="uploader1" runat="server">
</CuteWebUI:Uploader>
</form>
</body>
</html>
I tried the following
<%# Control CodeBehind="kgfileUploader.aspx.cs" Inherits="SampleUserControl" Language="C#" %>
<%# Register TagPrefix="CuteWebUI" Namespace="CuteWebUI" Assembly="CuteWebUI.AjaxUploader, Version=3.0.0.0, Culture=neutral, PublicKeyToken=bc00d4b0e43ec38d" %>
<h3> <u>User Control</u> </h3>
<CuteWebUI:Uploader ID="uploader1" runat="server">
</CuteWebUI:Uploader>
But I get an error "Control directive is not allowed in .aspx file"
Where have I gone wrong?

Getting "A page can have only one server-side Form tag" error, not using a master page

So I'm the new guy on the dev team, trying to update a "Dashboard" type page, which is the default landing page for our users. The default.aspx page consists of 16 Web User Controls (.ascx). I've been asked to add stock "widget" on the dashboard, so users can monitor our company's stock symbol. To allow for different timeframes (1 day, 5 day, 3 month, etc) I was planning on using a Menu (tabs) within a new .ascx. When I try to use a menu, I get the error "Control 'StockDisplay_StockMenu' of type 'Menu' must be placed inside a form tag with runat=server". If I wrap the menu in form tags, I get the "A page can have only one server-side Form tag" error.
Most search results suggest looking at the Master Page, but we're not using one here. I checked The default.aspx page, and it does not have any form tags. Other searches suggested removing < head> and < body> tags in the .ascx, which I've done, but still I have the issue.
Here's my stripped down code, which still produces the error:
<%# Control Language="VB" AutoEventWireup="false" CodeFile="UC_StockDisplay.ascx.vb" Inherits="UC_StockDisplay" %>
<%# Import Namespace="System.Data" %>
<form id="Form1" runat="server">
<asp:Menu ID="StockMenu" runat="server">
<Items>
<asp:MenuItem Text="One Day" />
<asp:MenuItem Text="Five Days" />
<asp:MenuItem Text="Three Months" />
<asp:MenuItem Text="Six Months" />
<asp:MenuItem Text="One Year" />
</Items>
</asp:Menu>
</form>
Here's the default.aspx:
<%# Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%# Register src="UC_HelpUs.ascx" tagname="HelpUs" tagprefix="uc1" %>
<%# Register src="UC_ImportantNumbers.ascx" tagname="ImportantNumbers" tagprefix="uc2" %>
<%# Register src="UC_ImportantLinks.ascx" tagname="ImportantLinks" tagprefix="uc3" %>
<%# Register src="UC_Printers.ascx" tagname="Printers" tagprefix="uc4" %>
<%# Register src="UC_WorkOrder.ascx" tagname="WorkOrder" tagprefix="uc5" %>
<%# Register src="UC_RequestForms.ascx" tagname="UCRequestForms" tagprefix="uc6" %>
<%# Register src="UC_MiscLinks.ascx" tagname="MiscLinks" tagprefix="uc7" %>
<%# Register src="UC_Emergency.ascx" tagname="Emergency" tagprefix="uc8" %>
<%# Register src="UC_Floorplan.ascx" tagname="Floorplan" tagprefix="uc9" %>
<%# Register src="UC_Directory.ascx" tagname="Directory" tagprefix="uc10" %>
<%# Register src="UC_Weather.ascx" tagname="Weather" tagprefix="uc11" %>
<%# Register src="UC_Holiday.ascx" tagname="Holiday" tagprefix="uc12" %>
<%# Register src="UC_CoreValues.ascx" tagname="CoreValues" tagprefix="uc14" %>
<%# Register src="UC_MyInfo.ascx" tagname="MyInfo" tagprefix="uc15" %>
<%# Register src="UC_Travel.ascx" tagname="Travel" tagprefix="uc16" %>
<%# Register src="UC_StockDisplay.ascx" tagname="StockDisplay" tagprefix="uc17" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>IT Helpdesk</title>
</head>
<body style="background-color:#1B5B9D;">
<center>
<img src="images\banner2.gif" border=0><br>
<font face="Courier New Bold" size=5 color=white>Helpdesk 3.5</font><br>
<table width=100% cellspacing=10>
<tr>
<td width="33%" valign=top>
<uc1:HelpUs ID="HelpUs" runat="server" />
<br>
<uc3:ImportantLinks ID="ImportantLinks" runat="server" />
<br>
<uc10:Directory ID="Directory" runat="server" />
<br>
<uc6:UCRequestForms ID="UCRequestForms" runat="server"/>
<br>
<uc7:MiscLinks ID="MiscLinks" runat="server" />
</td>
<td width="33%" valign=top align=center>
<uc5:WorkOrder ID="WorkOrder" runat="server" />
<br>
<uc8:Emergency ID="Emergency" runat="server" />
<br>
<uc2:ImportantNumbers ID="ImportantNumbers" runat="server" />
<br>
<uc11:Weather ID="Weather" runat="server" />
<td width="33%" valign=top>
<uc17:StockDisplay ID="StockDisplay" runat="server" />
<br />
<uc9:Floorplan ID="Floorplan" runat="server" />
<br>
<uc4:Printers ID="Printers" runat="server" />
<br>
<uc15:MyInfo ID="MyInfo" runat="server" />
<br>
<uc14:CoreValues ID="CoreValues" runat="server" />
<br>
<uc12:Holiday ID="Holiday" runat="server" />
<br />
<uc16:Travel ID="Travel" runat="server"></uc16:Travel>
</td>
</tr>
</table>
</center>
</body>
</html>
After adding one control you have a form with runat="server" tag:
<form id="Form1" runat="server">
<asp:Menu ID="StockMenu" runat="server">
You already mentioned you have 16 usercontrol in one page. So you have 16 forms with runat="server" tag. Which is not allowed.
Solution: As Chris Lively suggested, strip out the the form tag from your wsercontrols. Add just one form tag in the page. You should be ok.
Here's how should all your controls should look like:
<asp:Menu ID="Menu1" runat="server">
<Items>
<asp:MenuItem Text="One Day" />
<asp:MenuItem Text="Five Days" />
<asp:MenuItem Text="Three Months" />
<asp:MenuItem Text="Six Months" />
<asp:MenuItem Text="One Year" />
</Items>
</asp:Menu>
And your page should look like:
<%# Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%# Register src="UC_HelpUs.ascx" tagname="HelpUs" tagprefix="uc1" %>
<%# Register src="UC_ImportantNumbers.ascx" tagname="ImportantNumbers" tagprefix="uc2" %>
<%# Register src="UC_ImportantLinks.ascx" tagname="ImportantLinks" tagprefix="uc3" %>
<%# Register src="UC_Printers.ascx" tagname="Printers" tagprefix="uc4" %>
<%# Register src="UC_WorkOrder.ascx" tagname="WorkOrder" tagprefix="uc5" %>
<%# Register src="UC_RequestForms.ascx" tagname="UCRequestForms" tagprefix="uc6" %>
<%# Register src="UC_MiscLinks.ascx" tagname="MiscLinks" tagprefix="uc7" %>
<%# Register src="UC_Emergency.ascx" tagname="Emergency" tagprefix="uc8" %>
<%# Register src="UC_Floorplan.ascx" tagname="Floorplan" tagprefix="uc9" %>
<%# Register src="UC_Directory.ascx" tagname="Directory" tagprefix="uc10" %>
<%# Register src="UC_Weather.ascx" tagname="Weather" tagprefix="uc11" %>
<%# Register src="UC_Holiday.ascx" tagname="Holiday" tagprefix="uc12" %>
<%# Register src="UC_CoreValues.ascx" tagname="CoreValues" tagprefix="uc14" %>
<%# Register src="UC_MyInfo.ascx" tagname="MyInfo" tagprefix="uc15" %>
<%# Register src="UC_Travel.ascx" tagname="Travel" tagprefix="uc16" %>
<%# Register src="UC_StockDisplay.ascx" tagname="StockDisplay" tagprefix="uc17" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>IT Helpdesk</title>
</head>
<body style="background-color:#1B5B9D;">
<form id="form1" runat="server">
<%-- your usercontrols and other tags --%>
</form>
EDIT: As you mentioned other usercontrols don't have forms, just adding form tag in the main page and remove that tag from usercontrol should solve your problem.

How to access .net classes at design time view in ASP .Net

Can you please tell me how to refer to .net classes at design time. For e.g I want to print the current datetime in a label or text box. I tried following code but my page is coming blank.
<%# Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<label runat="server"><%# DateTime.Now.ToString() %></label>
<asp:TextBox runat="server" ID="litDateNow" Text='<%# DateTime.Now.ToString() %>'></asp:TextBox>
</div>
</form>
</body>
</html>
Consider that you want to use .net classes, in any part of ASP.net page you can use <%= your classes %> in top of any Asp.net page you can see a
<%# Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %>
so your Page declerative is using this pattern too
That should be:
<label runat="server"><%= DateTime.Now.ToString() %></label>
<%= DateTime.Now.ToString() %>
You can use the above syntax
The syntax you have defined is used for databinding, not printing text
If you just want to display date from aspx page, write
<div>
<%= DateTime.Now.ToLongTimeString()%>
</div>
No need to use any textbox or label control, if it is of no use in code-behind

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)

I have the folling code in my content page:
- masterpage
- strong type of masterpage
- ajaxcontroltoolkit
I think the error is caused by the fact that I have
<%# MasterType VirtualPath="~/dashboard/ProfMaster.master" %>
in the code. But I do not know how to solve it. I read some workaround like http://www.west-wind.com/weblog/posts/2006/May/27/The-Controls-collection-cannot-be-modified-because-the-control-contains-code-blocks-ie-
but that does not solve it.
Any ideas?
My
Code:
<%# Page Title="" Language="C#" MasterPageFile="~/dashboard/ProfMaster.master"
AutoEventWireup="true" CodeBehind="profEditArticle.aspx.cs"
Inherits="NoteBook.dashboard.profEditArticle" %>
<%# Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit.HTMLEditor"
TagPrefix="cc1" %>
<%# MasterType VirtualPath="~/dashboard/ProfMaster.master" %>
<asp:Content ID="Content2" ContentPlaceHolderID="CPHPROFRIGHT" runat="server">
<cc1:Editor ID="Editor1" runat="server" />
</asp:Content>

Resources