Den hittar inga attribut med namnet roles, och kan därför inte skapa objektet, skulle jag tippa på..
Men sen är jag dålig på tips, så man vet ju inte.. kanske vinner storkovan i alla fall. :)
2 svar · 527 visningar · startad av Vinnaren
Ska loopa igenom alla undernoder till faq, men det vill inte fungera. Har följande xml-fil:
<faq>
<test1 roles="Test1, Test2"></test1>
<test2 roles="Test1, Test2"></test2>
</faq>
Samt min kod:
ListItem addItem = null;
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
settings.IgnoreWhitespace = true;
settings.CheckCharacters = false;
XmlReader reader = XmlReader.Create(Server.MapPath("~/App_Data/Faq.xml"), settings);
string[] role = Roles.GetRolesForUser();
string rolename = role[0];
char[] mysplit = { ',', ' ' };
while (reader.Read())
{
if (reader.AttributeCount > 0)
{
string[] noderole = reader.GetAttribute("roles").Split(mysplit);
foreach (string current in noderole)
{
if (current == rolename)
{
addItem.Text = reader.Name;
}
}
}
}
får felmeddelandet:
Object reference not set to an instance of an object.
på
tring[] noderole = reader.GetAttribute("roles").Split(mysplit);
Hur löser man detta??
Tacksam för all hjälp :stud
Den hittar inga attribut med namnet roles, och kan därför inte skapa objektet, skulle jag tippa på..
Men sen är jag dålig på tips, så man vet ju inte.. kanske vinner storkovan i alla fall. :)
har nu fått det att fungera. Var inte bara under"taggarna" den kollade efter roles på.
Nytt problem:
while (reader.Read())
{
if (reader.AttributeCount > 0)
{
string attrValue = reader.GetAttribute("roles");
if (!string.IsNullOrEmpty(attrValue))
{
string[] noderole = attrValue.Split(mysplit);
foreach (string current in noderole)
{
if (current == rolename)
{
addItem = new ListItem();
addItem.Text = reader.GetAttribute("name");
addItem.Value = reader.GetAttribute("name");
}
}
}
}
}
bllMenu.Items.Add(addItem);
Jag får bara ut den sista av alla addItem i min lista.
Flyttar jag upp bllMenu.Items.Add(addItem); ett steg o har den näst sist år jag följande fel:
Objektreferensen har inte angetts till en instans av ett objekt.
Hur får jag ut samtliga addItem som skapas i while-satsen? SKa få ut tre, men enbart 1 kommer ut. :stud