37 messaggi dal 12 agosto 2003
salve a tutti,

nella mia web application ho inserito un navigatore che carica i suoi elementi da un file xml, secondo il ruolo dell'utente:


html
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
<%@ OutputCache Duration="60" VaryByParam="none" %>
<%@ Control Language="c#" AutoEventWireup="false"
Codebehind="Navigator.ascx.cs" Inherits="Solution.Controls.Navigator" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%><asp:Repeater id="rptNavigator" runat="server"
OnItemDataBound="rptNavigator_ItemDataBound">
<ItemTemplate>
<asp mage ID="imgIcon" Runat="server"></asp mage> <asp:HyperLink ID="hypLink" Runat="server"></asp:HyperLink> </ItemTemplate>
<SeparatorTemplate>
<br>
</SeparatorTemplate>
</asp:Repeater>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

codice
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
DataSet ds = new DataSet();
string userType = "admin";
string file;
switch(userType)
{
case "admin":
file = "Administrator.xml";
break;
case "visitor":
file = "Visitor.xml";
break;
case "user":
file = "User.xml";
break;
default:
file = "Visitor.xml";
break;
}
ds.ReadXml(Server.MapPath("~\\Config") + "\\" + file); rptNavigator.DataSource = ds;
rptNavigator.DataMember = "item";
rptNavigator.DataBind();
}
}

public void rptNavigator_ItemDataBound(object sender,
System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HyperLink hypLink = ((HyperLink)e.Item.FindControl("hypLink")); hypLink.NavigateUrl = DataBinder.Eval(e.Item.DataItem, "url").ToString();
hypLink.Text = DataBinder.Eval(e.Item.DataItem, "text").ToString();
((System.Web.UI.WebControls.Image)e.Item.FindControl("imgIcon")).ImageUrl = DataBinder.Eval(e.Item.DataItem, "img").ToString();
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
il file xml è composto unicamente da tag item con attributi key - value.
il problema è che 2-3 volte su 10 il navigatore scompare....al suo posto c'è il bianco assoluto. inoltre 1 volta su 10 (o anche meno) compare un errore su questa riga:

hypLink.NavigateUrl = DataBinder.Eval(e.Item.DataItem, "url").ToString();
il quale dice che c'è un 'oggetto non impostato sull'istanza di un oggetto.vorrei tanto fare un debug...ma, come ho già detto, è un errore che capita sporadicamente...

cosa posso fare per risolevere?

grazie.
.
l'errore è dovuto al fatto per probabilmente questa istruzione:

HyperLink hypLink = ((HyperLink)e.Item.FindControl("hypLink"));

restituisce null,

per gli altri problemi cerca di isolare gli eventi che causano la scomparsa del menù, le cose non avvengono mai a casa, controlal dove clicchi prima che sparica, traccia gli eventi ecc ecc

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.