IE WebControls: problema con le direttive

domenica 28 settembre 2003 - 22.36

macgeg Profilo | Newbie

Ciao,
in una pagina .aspx creata con Visual studio ho queste due direttive:
"
<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>

<%@ Page language="c#" Codebehind="WebForm3.aspx.cs" AutoEventWireup="false" Inherits="TreeView.WebForm3"%>
"

Se lancio l'applicazione, esce il seguente errore di compilazione:
"
Compiler Error Message: CS0234: The type or namespace name 'WebForm3' does not exist in the class or namespace 'Microsoft.Web.UI.WebControls.TreeView' (are you missing an assembly reference?)

"
...la riga è:

"
Line 35: public class WebForm3_aspx : TreeView.WebForm3, System.Web.SessionState.IRequiresSessionState {

"
Se dalla seconda direttiva tolgo l'istruzione "Inherits="TreeView.WebForm3" "
allora visualizzo correttamente la pagina ma purtroppo non riesco ad utilizzare il codice lato server e cioè la pagina C# o VB sottostante.

Ciao e grazie

Admin Profilo | Junior Member

ho un pò di domande da farti per capire meglio:

1) "TreeView.WebForm3" sono namespace e classe del tuo code-behind ?
2) la directory sotto cui è posizionata la "/bin" (contenente la dll generata da VS.NET per il progetto web della web form) è contrassegnata come applicazione in IIS (vedi http://www.dotnethell.it/articles/article.aspx?ArticleID=77) ?

Ciao

Stefano Giannone [MCP .NET]

macgeg Profilo | Newbie

Ciao Admin,
queste le risposte:

1) Si, "TreeView.WebForm3" sono namespace e classe del code-behind.

2) La directory sotto cui è posizionata la "/bin" si chiama "treeview" ed è un'applicazione in IIS; se come dicevo tolgo l'istruzione "inherits=TreeView.WebForm3" riesco ad acccedere senza problemi al sito "\\nomeserver\TreeView".

Admin Profilo | Junior Member

mmmh... me pare strano.

Allora... hai generato la dll contenente la classe del code-behind? Questa è posizionata dentro la /bin ?

Prova a controllare questo, intanto ci penso ancora.

Ciao

Stefano Giannone [MCP .NET]

macgeg Profilo | Newbie


Nella directory /bin c'è la dll e si chiama "TreeView.dll"; inoltre c'è la dll "Microsoft.Web.UI.WebControls.dll".
Posso utilizzare il code-behind, e quindi lasciare l'istruzione "inherits=treeview.webform3" solo se tolgo la prima direttiva(<%@ Register TagPrefix...), quella per utilizzare gli IE web controls.

Ciao,

Admin Profilo | Junior Member

prova a mettere prima la direttiva @page e poi la @register.... mi sembra alquanto strana la cosa.

macgeg Profilo | Newbie

Ho provato a cambiare le direttive ma il risultato è lo stesso...

macgeg Profilo | Newbie

Finalmente ho risolto!
Il mio NameSpace si chiamava "TreeView" e per qualche motivo andava in conflitto con gli IE web controls; cambiando il namespace semplicemente in "TreeView2" ora posso inserire l'istruzione "Inherits="TreeView2.WebForm3" " ed utilizzare il code-behind.

Ciao e grazie lo stesso.

Admin Profilo | Junior Member

caspita è vero... !
Non c'avevo proprio pensato.
Buono così.

Ciao, alla prossima.

Stefano Giannone [MCP .NET]
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5