Как установить значение XAttribute null - PullRequest
1 голос
/ 06 августа 2010
 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 значения могут быть обнулены. Покажите мне ошибку

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

1 Ответ

2 голосов
/ 06 августа 2010

Предположительно, вы хотите избежать создания атрибутов, если 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))
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...