infatti lo è.

definisci una proprietà e fai in modo che con findcontrol punti al controllo interno al tuo control.
più difficile a dirsi che a farsi.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
3.939 messaggi dal 28 gennaio 2003
Daniele Bochicchio ha scritto:
infatti lo è.

definisci una proprietà e fai in modo che con findcontrol punti al controllo interno al tuo control.
più difficile a dirsi che a farsi.


Se ti dicessi che ho capito, direi una bugia.
Ciao
27 messaggi dal 31 gennaio 2003
A me funziona solo in un modo... ho corretto una cosa nella direttiva Page di prova_controllo_utente.aspx, ho tolto il codebehind e messo il Src

<%@ Page Language="vb" autoeventwireup="false" Inherits="prova_controllo_utente" Src="prova_controllo_utente.aspx.vb" %>

Però non so se è proprio quello che volevi


Prova_controllo_utente.aspx

<%@ Page Language="vb" autoeventwireup="false" Inherits="prova_controllo_utente" Src="prova_controllo_utente.aspx.vb" %>
<%@ Register TagPrefix="uc1" TagName="controllo_utente" Src="controllo_utente.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>prova_controllo_utente</title>
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR" />
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE" />
<meta content="JavaScript" name="vs_defaultClientScript" />
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema" />
</head>
<body>
<form id="Form1" method="post" runat="server">
<p>
<uc1:controllo_utente id="Controllo_utente1" runat="server" Testo="Testo immesso in progettazione"></uc1:controllo_utente>
</p>
<p>
<asp:Button id="Button1" runat="server" Text="Imposta valore controllo utente"></asp:Button>
</p>
<p>
<asp:Button id="Button2" runat="server" Text="Recupera valore controllo utente"></asp:Button>
</p>
</form>
</body>
</html>


prova_controllo_utente.aspx.vb

Public Class prova_controllo_utente

Inherits System.Web.UI.Page

Protected WithEvents Button1 As System.Web.UI.WebControls.Button

Protected WithEvents Button2 As System.Web.UI.WebControls.Button

Protected WithEvents Controllo_utente1 As controllo_utente




#Region " Codice generato da Progettazione Web Form "



'Chiamata richiesta da Progettazione Web Form.

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()



End Sub



Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init

'CODEGEN: questa chiamata al metodo è richiesta da Progettazione Web Form.

'Non modificarla nell'editor del codice.

InitializeComponent()

End Sub



#End Region



Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'Inserire qui il codice utente necessario per inizializzare la pagina

End Sub



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Controllo_utente1.Testo$ = "ciao"

End Sub



Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click



End Sub

End Class

3.939 messaggi dal 28 gennaio 2003
In effetti, dopo che ti suggeriscono la giusta risposta, ed essersi spremuti un po' il cervello, è facile:

Per impostare la proprietà del controllo utente:
CType(Me.FindControl("Controllo_utente1"), controllo_utente).Testo = "Testo impostato"

Per recuperare la proprietà:
Me.Label1.Text = CType(Me.FindControl("Controllo_utente1"), controllo_utente).Testo

Ti chiedo un altro aiuto:

per impostare una variabile che punti al controllo con il giusto casting, come dovrei fare?

Grazie ancora
recuperi il tipo con Type.GetType(controllo)

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
3.939 messaggi dal 28 gennaio 2003
Daniele Bochicchio ha scritto:
recuperi il tipo con Type.GetType(controllo)


Ho usato:
Dim c As controllo_utente = CType(Me.FindControl("Controllo_utente1"), controllo_utente)
Me.Label1.Text = c.Testo

e funziona:

Dato che ormai sono fuso, puoi spiegarmi il tuo suggerimento?
3.939 messaggi dal 28 gennaio 2003
Per darth:

Grazie anche a te. Ho capito che devo studiare ancora ..
ciao
27 messaggi dal 31 gennaio 2003

Non ti preoccupare, siamo tutti qui per imparare. Oltretutto con la tua domanda ho scoperto un bel pò di cose, quindi .. grazie anche a te.

Piuttosto..volevo dirti che io l'avevo risolto da molto in quel modo che ho riportato, però pensavo che tu volessi utilizzare controllo_utente.aspx.vb ... COMPILATA, e da utilizzare quindi attraverso il codebehind. Ecco, così facendo ... non me la fa compilare dicendomi che l'oggetto controllo_utente non è un tipo definito.
Non ho capito bene il perchè ma non sono riuscito a risolvere, nè so se sia possibile fare una cosa del genere.

qualcuno ne sa qualcosa di più o, nel caso, sa perchè non funzionerà mai?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.