sitemapdatasource가 OnDataBinding을 호출하지 않습니까?
-
12-12-2019 - |
문제
항목을 필터링하고 싶습니다. web.sitemap
사용하여 OnDataBinding
이벤트가 발생했지만 실행되지 않습니다.사용자의 역할이 특정 기능에 액세스할 수 있는지 여부를 확인할 수 있는 기능을 갖고 싶습니다.
권한을 구축하기 위해 기능 목록과 연결 테이블이 포함된 테이블을 만들었습니다.내 요구에 충분히 유연하지 않은 IsInRole을 사용하는 대신 관리자가 새 역할을 추가하고 허용되는 기능 세트를 제공하도록 허용하겠습니다.
그래서 다음을 추가했습니다.
<asp:sitemapdatasource ID="SiteMapMenuSrc" runat="server" ShowStartingNode="false" OnDataBinding="MainMenu_DataBinding" SiteMapProvider="SiteMap1"></asp:sitemapdatasource>
SiteMap이 web.config 항목인 경우:
<add name="SiteMap1" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Web.sitemap"/>
그런 것 같아요 MainMenu_DataBinding
호출되지 않습니다.적절한 설명을 찾지 못했습니다.내 코드에 어떤 문제가 있나요?
해결책
그것은 ~ 때문에 SiteMapDatasource
단지 데이터 소스 제어 그것은 그 자체로는 아무것도 하지 않는다
실제로 사용해야 합니다. 예를 들면 다음과 같습니다.
<asp:Menu ID="Menu1" DataSourceID="SiteMapMenuSrc" runat="server"
Orientation="Horizontal" RenderingMode="Table"
StaticSubMenuIndent="16px">
<StaticSelectedStyle Font-Bold="True" />
</asp:Menu>
제휴하지 않습니다 StackOverflow