389 messaggi dal 22 giugno 2007
Sto seguendo questo articolo: http://www.aspitalia.com/articoli/asp.net3.5/routing-dynamic-data.aspx

Mi da un un errore in questa parte di codice:
// le proprietà che servono alla pagina
page.ProductID = requestContext.RouteData.Values["ProductID"].ToString();


L'errore è: Riferimento a un oggetto non impostato su un'istanza di oggetto.

Non riesco a capire, perchè se vado con il debug il RouteData possiede il Key specificata e anche il suo valore.

Dove è che sbaglio??
cosa è null? con il debugger dovresti vederlo, magari è Page perché non hai seguito tutto correttamente...

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy
389 messaggi dal 22 giugno 2007
 E si è proprio quello è nulla la pagina, io ho scritto così:

public class ProductRouteHandler : IRouteHandler
{
  public ProductRouteHandler(string virtualPath)
  {
     this.VirtualPath = virtualPath; 
  }

  public string VirtualPath { get; private set; }

  IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext)
  {
     IProductPage page = BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(Page)) as IProductPage;

     // le proprietà che servono alla pagina
     page.ProductID = requestContext.RouteData.Values["ProductID"].ToString();
     // Dal compilatore ASP.NET ottengo la pagina vera
     return BuildManager.CreateInstanceFromVirtualPath("prodotto.aspx", typeof(Page)) as IHttpHandler;
  }
}


E poi:

protected void Application_Start(object sender, EventArgs e)
{
   RouteTable.Routes.Add("productsRoute", new Route("prodotto/{ProductID}", new ProductRouteHandler("~/prodotto.aspx")));
}


E' qui che sbaglio?
Modificato da desy_dm il 03 febbraio 2012 09.47 -
desy_dm wrote:
E' qui che sbaglio?

la pagina implementa l'interfaccia?
.

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy
389 messaggi dal 22 giugno 2007
Ok implementato la pagina.
Ma ora come posso passare a un ObjectDataSource Id? prima impovo la QueryString, ma ora?
desy_dm wrote:
Ok implementato la pagina.
Ma ora come posso passare a un ObjectDataSource Id? prima impovo la QueryString, ma ora?

certo, usa RouteParameter.
.

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy
389 messaggi dal 22 giugno 2007
Daniele Bochicchio ha scritto:
certo, usa RouteParameter.

Ho controllato io non ce l'ho implementato, cioè non mi compare con le scelte per l'inserimento.
Mi sa che sbaglio qualcosa.

Comunque per risolvere ho passato il paramentro nel metodo Seleting in questo modo

e.InputParameters["CodArt"] = ProductID;
desy_dm wrote:
Mi sa che sbaglio qualcosa.

probabilmente è una cosa di 4.0 e non si 3.5 SP1.

Comunque per risolvere ho passato il paramentro nel metodo Seleting in questo modo
e.InputParameters["CodArt"] = ProductID;

è quello che fa il RouteParameter
.

Daniele Bochicchio | ASPItalia.com
I libri su HTML5, WP7, ASP.NET, VB, C#, Entity Framework
Senior Software Architect@5DLabs.it
Microsoft Regional Director for Italy

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC