私はweb.sitemapを持っています、特定のケースのために私は <siteMapNode url="~/mainv.aspx" title="MainV" description="">
それからノードを削除する必要があります。しかし、SiteMapNodeコレクションは読み取り専用の例外です。それを行う方法はありますか?
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="~/default.aspx" title="Home" description="">
<siteMapNode url="~/main.aspx" title="Main" description="">
<siteMapNode url="~/mainv.aspx" title="MainV" description="">
<siteMapNode url="~/last.aspx" title="Last" description="">
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
コード
protected void SiteMapPath1_ItemDataBound(object sender, SiteMapNodeItemEventArgs e)
{
e.Item.SiteMapNode.ReadOnly = false;
e.Item.SiteMapNode.ChildNodes.RemoveAt(2);
}
編集:
protected void SiteMapPath1_ItemDataBound(object sender, SiteMapNodeItemEventArgs e)
{
SiteMapNodeCollection modifiableCollection = new SiteMapNodeCollection(e.Item.SiteMapNode.RootNode.ChildNodes);
modifiableCollection.RemoveAt(2);
}
インデックスが範囲外になりました。負ではなく、コレクションのサイズ未満である必要があります。\ r \ nパラメータ名:インデックス