2010-08-06 10 views
1
XElement xml = new XElement("MyMenu", 
        from c in db.Security_Module_Menus 
        //where (c.ParentID == 0) 
        orderby c.Menu_ID 
        select new XElement("Item", 
           new XAttribute("Text", c.Menu_Name), new XAttribute("NavigateUrl", c.Target_URL) 


           ) 
        ); 

De ma syntaxe ci-dessus c.Menu_Name, les valeurs c.Target_URL me nullable.Show l'erreurComment mettre XAttribute valeur null

valeur ne peut pas être nulle. Nom du paramètre: Valeur Je sais SetElementValue() utilisé pour résoudre ce error.But comment puis-je utiliser pour mon-dessus de moi syntax.Help utiliser la syntaxe it.Show me

Répondre

2

On peut supposer que vous voulez éviter de créer les attributs si c.Menu_Name et c.Target_URL sont null? Si oui, vous pouvez le faire comme suit:

new XElement("MyMenu", 
    from c in db.Security_Module_Menus 
    orderby c.Menu_ID 
    select new XElement("Item", 
    c.Menu_Name == null ? null : new XAttribute("Text", c.Menu_Name), 
    c.Target_URL == null ? null : new XAttribute("NavigateUrl", c.Target_URL)) 
) 
+0

Merci pour l'aide .J'ai menu_id et PARENT_ID columns.want pour créer ... ..... ... sur la base d'ID parent. http://stackoverflow.com/questions/3412530/how-to-create-dynamic-aspxmenu-from-database. Ici vous pouvez voir mon talbe.Plz m'aider à résoudre ce problème. Merci encore pour l'aide. – shamim