Problemas con treeview y Microsoft.Web.UI.WebControls

29/06/2007 - 08:32 por Iñigo | Informe spam
Hola, despues de que me costo horas poner el Microsoft.Web.UI.WebControls.dll,
ahora me sale este error:
'Treeview' is an ambiguous reference between
'Microsoft.Web.UI.WebControls.Treeview' and
'Microsoft.Web.UI.WebControls.Treeview'

Nose porque es este error, nunca me habia salido. El codigo es el siguiente:

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint.WebControls;
using Microsoft.Web.UI.WebControls;

/*
* Programado por Gustavo Velez para http://www.gavd.net/servers/
* Puede usar este codigo en cualquier tipo de aplicacion, personal o
comercial.
* Pero no se le olvide hacer una referencia al autor y al sitio en donde lo
encontro.
* Y mandele un E-mail al autor contandole como le parecio
(gustavo@gavd.net)...
*
*/

namespace TreeViewTest
{
/// <summary>
/// Description for WebPart1.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
XmlRoot(Namespace="TreeViewTest")]
public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
{
TreeView myArbol;


protected override void RenderWebPart(HtmlTextWriter output)
{
SPSite mySite = SPControl.GetContextSite(Context);
SPWeb myWeb = mySite.OpenWeb();

TreeNode myRaiz = new TreeNode();
myRaiz.Text = myWeb.Title;
myRaiz.ImageUrl = "/_layouts/images/globe.gif";
myRaiz.Expanded = true;
myArbol.Nodes.Add(myRaiz);

AgregarNudos(myRaiz, myWeb);

myArbol.RenderControl(output);
}

protected override void CreateChildControls()
{
base.CreateChildControls ();
myArbol = new TreeView();
Controls.Add(myArbol);
}

private void AgregarNudos(TreeNode parentNode, SPWeb parentWeb)
{
SPWebCollection myWebs = parentWeb.GetSubwebsForCurrentUser();

foreach(SPWeb mySub in myWebs)
{
TreeNode myNudo = new TreeNode();
myNudo.Text = mySub.Title;
myNudo.ImageUrl = "/_layouts/images/asp16.gif";
myNudo.NavigateUrl = mySub.Url;
myNudo.Target = "";
parentNode.Nodes.Add(myNudo);

//Rutina recursiva
AgregarNudos(myNudo, mySub);
}
}

}
}

Muchas gracias
Un saludo
Iñigo
 

Leer las respuestas

#1 Teo Quiroz
02/07/2007 - 08:24 | Informe spam
Algo parecido me ocurrio hace una semana aprox., la cuestión es que tanto:
'Microsoft.Web.UI.WebControls como: Microsoft.SharePoint.WebControls cuentan
con una clase TreeView, entonces al declarar o instanciar el compilador no
sabe de cual clase coger la definición, es por eso que al hacer estas tareas
debes de especificar el espacio de nombres del cual se cogera la clase, en
lugar de poner solo TreeView agregale el espacio de nombres necesario
Microsoft.SharePoint.WebControls.TreeView

Espero este en lo correcto, suerte.

"Iñigo" wrote:

Hola, despues de que me costo horas poner el Microsoft.Web.UI.WebControls.dll,
ahora me sale este error:
'Treeview' is an ambiguous reference between
'Microsoft.Web.UI.WebControls.Treeview' and
'Microsoft.Web.UI.WebControls.Treeview'

Nose porque es este error, nunca me habia salido. El codigo es el siguiente:

using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint.WebControls;
using Microsoft.Web.UI.WebControls;

/*
* Programado por Gustavo Velez para http://www.gavd.net/servers/
* Puede usar este codigo en cualquier tipo de aplicacion, personal o
comercial.
* Pero no se le olvide hacer una referencia al autor y al sitio en donde lo
encontro.
* Y mandele un E-mail al autor contandole como le parecio
()...
*
*/

namespace TreeViewTest
{
/// <summary>
/// Description for WebPart1.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
XmlRoot(Namespace="TreeViewTest")]
public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
{
TreeView myArbol;


protected override void RenderWebPart(HtmlTextWriter output)
{
SPSite mySite = SPControl.GetContextSite(Context);
SPWeb myWeb = mySite.OpenWeb();

TreeNode myRaiz = new TreeNode();
myRaiz.Text = myWeb.Title;
myRaiz.ImageUrl = "/_layouts/images/globe.gif";
myRaiz.Expanded = true;
myArbol.Nodes.Add(myRaiz);

AgregarNudos(myRaiz, myWeb);

myArbol.RenderControl(output);
}

protected override void CreateChildControls()
{
base.CreateChildControls ();
myArbol = new TreeView();
Controls.Add(myArbol);
}

private void AgregarNudos(TreeNode parentNode, SPWeb parentWeb)
{
SPWebCollection myWebs = parentWeb.GetSubwebsForCurrentUser();

foreach(SPWeb mySub in myWebs)
{
TreeNode myNudo = new TreeNode();
myNudo.Text = mySub.Title;
myNudo.ImageUrl = "/_layouts/images/asp16.gif";
myNudo.NavigateUrl = mySub.Url;
myNudo.Target = "";
parentNode.Nodes.Add(myNudo);

//Rutina recursiva
AgregarNudos(myNudo, mySub);
}
}

}
}

Muchas gracias
Un saludo
Iñigo

Preguntas similares