ASP.Netでサーバサイドバリデーションが実行されるのは意外に遅いタイミングで、ボタンクリックイベントなどよりも、後のようである。したがって、そのイベントより前に検証が必要なイベントでは、
this.Validate();
if (this.IsValid == false) return;
などと処理を入れておかなければならない。
ASP.Netでサーバサイドバリデーションが実行されるのは意外に遅いタイミングで、ボタンクリックイベントなどよりも、後のようである。したがって、そのイベントより前に検証が必要なイベントでは、
this.Validate();
if (this.IsValid == false) return;
などと処理を入れておかなければならない。
XMLSiteMapProviderを継承した子クラスを作成し、web.configのprovicerのTypeを継承して作ったクラス名に変更する。
<siteMap enabled=”true”>
<providers>
<add name=”SiteMapProvider1″
type=”System.Web.XmlSiteMapProviderChild” siteMapFile=”Web1.sitemap” />
</providers>
</siteMap>
下記のGetChildNodesメソッドをオーバーライドし、SiteMapNodeからGetChildNodesを使ってSiteMapCollection(メニュー項目リスト)を取り出し、別のSiteMapCollectionにコピーしながら、メニュー削除、変更などを行う。
public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
Web.Configに下記設定を追加する。
<identity impersonate="true" userName="user1" password="xxxxxx"/