문제

항목을 필터링하고 싶습니다. 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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top