Hej! Testa Property As String Jo då, jag får ut texten också. Finns det ingen "där ute" som har några tips? Jag kan ju omöjligt vara den första som vill få detta att fungera...Custom Control med Label - design-time problem
Ska försöka beskriva mitt problem så bra som möjligt.
Håller på att bygga om ett gäng user controls till server controls.
Lite källkod:
MyServerControl.vb
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
<DefaultProperty("Text"), ToolboxData("<{0}:ctrl_Test runat=server></{0}:ctrl_Test>")> Public Class ctrl_Test
Inherits System.Web.UI.Control : Implements INamingContainer
Dim _MittPris As New Label
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [MittPris]() As Label
Get
Return _MittPris
End Get
Set(ByVal Value As Label)
_MittPris = Value
End Set
End Property
Protected Overrides Sub CreateChildControls()
MyBase.Controls.Add([MittPris])
End Sub
End Class
_Control.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="_Control.aspx.vb" Inherits="Portal._Control"%>
<%@ Register TagPrefix="cc1" Namespace="PortalControl" Assembly="PortalControl" %>
<HTML>
<HEAD>
</HEAD>
<body>
<form id=Form1 method=post runat="server">
<cc1:ctrl_Test id=Ctrl_Test1 runat="server" MittPris-Text="100,00 kr" MittPris-ForeColor="red"></cc1:ctrl_Test>
</form>
</body>
</HTML>
Om jag kör denna så kommer den att skriva ut 100,00 kr i rött.
Mitt porblem är att när jag sätter dessa properties genom VS så lägger den inte till MittPris-Text samt MittPris-ForeColor i aspx-koden. De som finns ovan har jag alltså skrivit in själv.
Det är alltså inte fel i själva funktionen (renderingen) utan det är mer ett designtime-problem (som jag ser det).
Saknar jag några properties i classen eller gör jag något annat fel?
Tack på förhand,
Fredrik
Sv: Custom Control med Lable - design-time problem
(jag får det att funka, är osäker på om du kan få det att funka med As Label på samma sätt..)Sv:Custom Control med Lable - design-time problem
Mitt problem är att den inte vill ta texten (eller någon annan property) från designern. Om man t.ex. tar en vanlig label o drar på sidan så kommer man åt Font-properties vid +-tecknet. Dessa "skrivs ut" i aspx-koden server-tagg. De4tta sker icke med min. Jag tror ajg saknar någon property i min server control som talar om att den ska skriva ut det till aspx-koden på någe vis...
Lite svårt att förklara.
/FredrikSv: Custom Control med Lable - design-time problem
Jag har googlat rätt rejält men hittar ingenting. Jag har testat med olika properties men får det ändå inte att fungera.
För att kort beskriva vad jag vill uppnå:
Jag vill inkludera t.ex. en TextBox eller en Label i en Composite Custom Control och utnyttja _samma_ properties som om jag bara drog en "vanlig" TextBox på aspx-sidan. Alltså Text o styles etc. Jag vill att den ritar ut dom properties jag sätter i design-time i HTML-koden.
Jag har läst lite om dessa properties, men ingen verkar göra det jag önskar:
DesignerSerializationVisibility
NotifyParentProperty
PersistenceMode
Om jag inte uttryckjt mig tillräckligt, vänligen svara ändå så ska jag förfina ytterligare.
Tack på förhand,
Fredrik Rodin