Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203

    Passaggio dati fra user control

    Ciao a tutti, ho una pagina aspx divisa in più sezioni (header, menu sinistro, parte centrale). Queste 3 sezioni sono user control, i primi 2 li carico normalmente mente il nome del terzo che sarebbe la parte centrale e che cambia di volta in volta dovrei caricarlo con il nome dello user control che gli passo.

    ma come faccio a passare un valore (una stringa) da una pagina in uno user control.

    Ho provato: ho dichiarato una stringa pubblica nella pagina aspx esempio: string frm = "form1.ascx";

    e nello user control dovrei riuscire a recuperare questa stringa. come faccio???

    grazie epr le dritte

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    linguaggio di programmazione c#

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    più semplicemento devo istanziare una variabile stringa in una pagina aspx e questa variabile devo poterla vedere nello user control...

    sarebbe abbastanza urgente

  4. #4
    salva la tua variabile in Session["tuastringa"] così è accessibile a tutte la pagina.
    penso che ci sia un modo migliore ma visto che è urgente se fai così sei sicuro che funziona
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    grazie. avevo già pensato io a passare il parametro in una variabile di sessione. cmq se qualcuno sa come ereditare una variabile stringa da una pagina aspx a uno user control me lo faccia sapere lo stesso.


  6. #6
    Non puoi aggiungere una proprietà al web user control che valorizzi sul pageload??

    Oppure puoi definire un campo HtmlInputHidden nella pagina e poi cercarlo dalweb user control?

    Ciao
    K
    Kalman

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    grazie per la risposta Kalman.

    potresti scrivermi 2 righe di esempio e per come ricaricarla nello user control?

    Grazi mille!

  8. #8
    Un po'di codice...

    Pagina aspx
    codice:
    <%@ Register TagPrefix="uc1" TagName="WUC1" Src="WUC1.ascx" %>
    <%@ Page language="c#" Codebehind="TestWUC.aspx.cs" AutoEventWireup="false" Inherits="TestVariCSharp.TestWUC" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>testWUC</title>
    		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    	</HEAD>
    	<body MS_POSITIONING="GridLayout">
    		<form id="Form1" method="post" runat="server">
    			<INPUT id="Hidden1" style="Z-INDEX: 101; LEFT: 360px; POSITION: absolute; TOP: 256px" type="hidden"
    				name="Hidden1" runat="server" value="pippo">
    			<uc1:WUC1 id="WUC11" runat="server"></uc1:WUC1>
    		</form>
    	</body>
    </HTML>
    Pagina aspx.cs
    codice:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    
    namespace TestVariCSharp
    {
    	/// <summary>
    	/// Summary description for TestWUC.
    	/// </summary>
    	public class TestWUC : System.Web.UI.Page
    	{
    		protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1;
    		protected TestVariCSharp.WUC1 WUC11;
    
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Put user code to initialize the page here
    			WUC11.url = "testetets";
    		}
    
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
    		
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{    
    			this.Load += new System.EventHandler(this.Page_Load);
    
    		}
    		#endregion
    	}
    }
    UserControl ascx
    codice:
    <%@ Control Language="c#" AutoEventWireup="false" Codebehind="WUC1.ascx.cs" Inherits="TestVariCSharp.WUC1" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
    <asp:Label id="Label1" runat="server">Label</asp:Label>
    
    
    
    
    
    
    <asp:Label id="Label2" runat="server">Label</asp:Label>
    UserControl ascx.cs
    codice:
    namespace TestVariCSharp
    {
    	using System;
    	using System.Data;
    	using System.Drawing;
    	using System.Web;
    	using System.Web.UI.WebControls;
    	using System.Web.UI.HtmlControls;
    
    	/// <summary>
    	///		Summary description for WUC1.
    	/// </summary>
    	public class WUC1 : System.Web.UI.UserControl
    	{
    		protected System.Web.UI.WebControls.Label Label1;
    		protected System.Web.UI.WebControls.Label Label2;
    	
    		private string _url;
    		public string url{get{return _url;} set {_url = value;}}
    	
    
    		private void Page_Load(object sender, System.EventArgs e)
    		{
    			// Put user code to initialize the page here
    			HtmlInputHidden h;
    			h = (HtmlInputHidden)Parent.FindControl("Hidden1");
    			this.Label1.Text = h.Value;
    			this.Label2.Text = this.url;
    
    		}
    
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
    		
    		/// <summary>
    		///		Required method for Designer support - do not modify
    		///		the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{
    			this.Load += new System.EventHandler(this.Page_Load);
    
    		}
    		#endregion
    	}
    }
    Ci sono dentro tutti e duei metodi
    Fammi sapere
    Ciao
    K
    Kalman

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    203
    grazie mille!!! era proprio quello che cercavo.

    ero arrivato che ci voleva qualche metodo con FindControl ma non sapevo che ci voleva Parent.FindControl ecc ecc

    Ciao!

  10. #10
    Il metodo migliore a mio parere è però l'aggiunta della proprietà al controllo!

    Ciao
    K
    Kalman

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.