如下,我添加了一个class属性<siteMapNode  title="角色用户管理"   class="h-a nav-users"  roles="admin">
          <siteMapNode url="~/Account/Admin/ManageRoles.aspx" title="角色管理"   class="l-a nav-role" roles="admin" />.....略<asp:Repeater runat="server" ID="NavRepeater" DataSourceID="mySiteMapDataSource">
<ItemTemplate>
<h3 class="section-new">  
<asp:HyperLink ID='biga' runat="server"  NavigateUrl='<%# Eval("Url")%>'  CssClass='<%# Eval("class") %>' >
<%# Eval("Title")%>
</asp:HyperLink>
                     </h3>
.....略
运行提示 DataBinding:“System.Web.SiteMapNode”不包含名为“class”的属性。如何绑定?

解决方案 »

  1.   

    你需要这样
    <%#((SiteMapNode)Container.DataItem)["class"]%>
      

  2.   

    多谢孟老大,另外我还有一需要,因为我的导航a标签都有特定的id,针对这些id,会有相应的css, 所以站点地图还有一个id的属性<siteMapNode  title="角色用户管理"   class="h-a nav-users"  roles="admin" id="biga">
              <siteMapNode url="~/Account/Admin/ManageRoles.aspx" title="角色管理"   class="l-a nav-role" roles="admin" id="smalla"/>
    ...........略<asp:HyperLink    id='<%#((SiteMapNode)Container.DataItem)["id"]%>' runat="server"  NavigateUrl='<%# Eval("Url")%>' CssClass='<%#((SiteMapNode)Container.DataItem)["class"]%>' >
    <%# Eval("Title")%>
    </asp:HyperLink>
    ..............略
    分析器错误说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误消息: 只能使用标记中的 ID 特性和一个简单值来设置控件的 ID 属性。示例: <asp:Button runat="server" id="Button1" />像这样,ID需要绑定如何做?谢谢
      

  3.   

    id是不能绑定的,你需要使用
    <a href='<%# Eval("Url")%>' id='<%#((SiteMapNode)Container.DataItem)["id"]%>'
    而不是
    asp:HyperLink