Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Web Controls (http://www.velocityreviews.com/forums/f63-asp-net-web-controls.html)
-   -   Adding and populating a custom property for a user control (http://www.velocityreviews.com/forums/t780043-adding-and-populating-a-custom-property-for-a-user-control.html)

Mike Owen 07-20-2007 05:48 PM

Adding and populating a custom property for a user control
 
I have built and used a custom control which works fine.

I now want to add a property that I can set from the various pages where I
use the control.

I have added the following property in the code behind file:

Public Property ContentTypeID() As Int16
Get

Return mContentTypeID

End Get
Set(ByVal value As Int16)

mContentTypeID = value

End Set
End Property

and set it in the page as follows:

<%@ Register TagPrefix="uc1" TagName="_Content" Src="~/_Content.ascx" %>
<uc1:_Content id=_Content ContentTypeID=10 runat="server"></uc1:_Content>

However in design time the error 'Attribute ContentTypeID is not a valid
attribute of element _Content' comes up for the property/attribute
ContentTypeID, and of course the value of 10 is not passed through to the
code behind file.

Any ideas what I am doing wrong?


Thanks, Mike.

Manish Bafna 07-21-2007 01:30 PM

RE: Adding and populating a custom property for a user control
 
Hi,
Following code is working perfectly well in my machine:
[1]Code in WebUserControl.ascx.vb
Partial Class WebUserControl
Inherits System.Web.UI.UserControl
Dim mContentTypeID As Int16

Public Property ContentTypeID() As Int16
Get
Return mContentTypeID
End Get
Set(ByVal value As Int16)

mContentTypeID = value
End Set
End Property
End Class
[2]The aspx page in which usercontrol is included(Default.vb)
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default" %>
<%@ Register Src="~/WebUserControl.ascx" TagName="_Content" TagPrefix="uc1" %>
<!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:_Content id="_Content" ContentTypeID="10"
runat="server"></uc1:_Content>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>

</body>
</html>
[3]Code in Default.aspx.vb
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Button1.Click
Label1.Text = _Content.ContentTypeID
End Sub
End Class

Compare with your code and figure out where you have missed out
--
Hope this answers your question.
Thanks and Regards.
Manish Bafna.
MCP and MCTS.



"Mike Owen" wrote:

> I have built and used a custom control which works fine.
>
> I now want to add a property that I can set from the various pages where I
> use the control.
>
> I have added the following property in the code behind file:
>
> Public Property ContentTypeID() As Int16
> Get
>
> Return mContentTypeID
>
> End Get
> Set(ByVal value As Int16)
>
> mContentTypeID = value
>
> End Set
> End Property
>
> and set it in the page as follows:
>
> <%@ Register TagPrefix="uc1" TagName="_Content" Src="~/_Content.ascx" %>
> <uc1:_Content id=_Content ContentTypeID=10 runat="server"></uc1:_Content>
>
> However in design time the error 'Attribute ContentTypeID is not a valid
> attribute of element _Content' comes up for the property/attribute
> ContentTypeID, and of course the value of 10 is not passed through to the
> code behind file.
>
> Any ideas what I am doing wrong?
>
>
> Thanks, Mike.


Mike Owen 07-22-2007 12:18 PM

RE: Adding and populating a custom property for a user control
 
Hi Manish,

I was actually trying to do it in a more abstract way because I am using
skins on the site, but having looked at it it was essential that I did it my
way, the only benefit being it fitted in with the rest of the code on the
site.

I tried it your way and it worked fine.

Thanks for your help.


Cheers, Mike.

"Manish Bafna" wrote:

> Hi,
> Following code is working perfectly well in my machine:
> [1]Code in WebUserControl.ascx.vb
> Partial Class WebUserControl
> Inherits System.Web.UI.UserControl
> Dim mContentTypeID As Int16
>
> Public Property ContentTypeID() As Int16
> Get
> Return mContentTypeID
> End Get
> Set(ByVal value As Int16)
>
> mContentTypeID = value
> End Set
> End Property
> End Class
> [2]The aspx page in which usercontrol is included(Default.vb)
> <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
> Inherits="_Default" %>
> <%@ Register Src="~/WebUserControl.ascx" TagName="_Content" TagPrefix="uc1" %>
> <!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>Untitled Page</title>
> </head>
> <body>
> <form id="form1" runat="server">
> <div>
> <uc1:_Content id="_Content" ContentTypeID="10"
> runat="server"></uc1:_Content>
> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
> <asp:Button ID="Button1" runat="server" Text="Button" />
> </div>
> </form>
>
> </body>
> </html>
> [3]Code in Default.aspx.vb
> Partial Class _Default
> Inherits System.Web.UI.Page
> Protected Sub Page_Load(ByVal sender As Object, ByVal e As
> System.EventArgs) Handles Me.Load
> End Sub
> Protected Sub Button1_Click(ByVal sender As Object, ByVal e As
> System.EventArgs) Handles Button1.Click
> Label1.Text = _Content.ContentTypeID
> End Sub
> End Class
>
> Compare with your code and figure out where you have missed out
> --
> Hope this answers your question.
> Thanks and Regards.
> Manish Bafna.
> MCP and MCTS.
>
>
>
> "Mike Owen" wrote:
>
> > I have built and used a custom control which works fine.
> >
> > I now want to add a property that I can set from the various pages where I
> > use the control.
> >
> > I have added the following property in the code behind file:
> >
> > Public Property ContentTypeID() As Int16
> > Get
> >
> > Return mContentTypeID
> >
> > End Get
> > Set(ByVal value As Int16)
> >
> > mContentTypeID = value
> >
> > End Set
> > End Property
> >
> > and set it in the page as follows:
> >
> > <%@ Register TagPrefix="uc1" TagName="_Content" Src="~/_Content.ascx" %>
> > <uc1:_Content id=_Content ContentTypeID=10 runat="server"></uc1:_Content>
> >
> > However in design time the error 'Attribute ContentTypeID is not a valid
> > attribute of element _Content' comes up for the property/attribute
> > ContentTypeID, and of course the value of 10 is not passed through to the
> > code behind file.
> >
> > Any ideas what I am doing wrong?
> >
> >
> > Thanks, Mike.



All times are GMT. The time now is 04:23 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.