2010-08-06 3 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) 


           ) 
        ); 

С моим выше синтаксисом c.Menu_Name, c.Target_URL значение nullable.Show меня ошибкаКак установить XAttribute нулевого значения

Значение не может быть пустым. Имя параметра: значение Я знаю SetElementValue() используется для решения этой error.But как я могу использовать, чтобы мой выше syntax.Help меня использовать it.Show меня синтаксис

ответ

2

Предположительно вы хотите, чтобы избежать создания атрибутов если c.Menu_Name и c.Target_URL равны нулю? Если да, то вы можете сделать это следующим образом:

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

Спасибо за помощь .I имеют Menu_ID и PARENT_ID columns.want создать ... ..... ... на основе родительского идентификатора. http://stackoverflow.com/questions/3412530/how-to-create-dynamic-aspxmenu-from-database. Здесь вы можете увидеть мой talbe.Plz, помогите мне решить эту проблему. Спасибо за помощь. – shamim

Смежные вопросы