проблема в том, что у меня есть функция переопределения BuildSiteMap () в классе с именем EditableSiteMapProvider, который используется для редактирования файла Sitemap путем удаления или добавления новых узлов.и когда я делаю base.BuildSiteMap ();, это выдает мне ошибку "XmlSiteMapProvider не инициализирован. Сначала вызовите метод Initialize ().
public override SiteMapNode BuildSiteMap()
{
SiteMapNode result = base.BuildSiteMap();
//if (_loadFileNodes())
//{
// lock(objLock)
// {
// base.Clear();
// result = base.BuildSiteMap();
// _dataFixInProgress = false;
// }
//}
if (!_dataFixInProgress)// && !_dataIsFixed)
{
Эта функция вызывается из функции Refresh (), которая являетсяследующим образом:
public void Refresh(){
Clear();
this._loadFileNodes();
BuildSiteMap();
}
Эти две функции находятся в классе EditableSiteMapProvider, и я использую эту функцию, чтобы обновить карту сайта с другой страницы, такой как files.aspx, которая используется для загрузки файлов в базу данных, которая также показывает их имяна панели навигации. Поэтому, чтобы сделать это, я обновляю карту сайта, вызывая функцию обновления на странице Load of files.aspx.cs, которая просматривает все новые загруженные файлы и добавляет или удаляет ссылку на файлы из карты сайта.
protected void Page_Load(object sender, EventArgs e)
{
DevExpress.Web.ASPxSiteMapControl.ASPxSiteMapControl smc = (DevExpress.Web.ASPxSiteMapControl.ASPxSiteMapControl)this.Master.FindControl("ASPxSiteMapControl1");
Proj.Web.EditableXmlSiteMapProvider sitemap = new Proj.Web.EditableXmlSiteMapProvider();
sitemap.Refresh();
}