|
<SfMenu Items="MainItems" TValue="Report">
<MenuFieldSettings Text="Name" Children="Reports" ItemId="Id"></MenuFieldSettings>
</SfMenu>
@code {
private List<Report> MainItems { get; set; }
protected override Task OnInitializedAsync()
{
XmlSerializer serializer = new XmlSerializer(typeof(ReportData), new XmlRootAttribute("root"));
StreamReader file = new StreamReader(Startup._env.WebRootPath.ToString() + "/Nav.xml");
ReportData reportData = (ReportData)serializer.Deserialize(file);
MainItems = reportData.Reports;
return base.OnInitializedAsync();
}
// Model for shared XML
public class ReportData
{
[XmlElement("element")]
public List<Report> Reports { get; set; } = null;
}
public class Report
{
[XmlElement("ID")]
public string Id { get; set; }
public bool IsVisible { get; set; }
public string ItemCssClass { get; set; }
public string Name { get; set; }
public int SubID { get; set; }
public int Type { get; set; }
[XmlElement("element")]
public List<Report> Reports { get; set; } = null;
}
} |