Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为查询字符串追加的属性_C#_Asp.net Mvc_Mvcsitemapprovider - Fatal编程技术网

C# 作为查询字符串追加的属性

C# 作为查询字符串追加的属性,c#,asp.net-mvc,mvcsitemapprovider,C#,Asp.net Mvc,Mvcsitemapprovider,我正在尝试使用多个属性忽略,因此我将其配置为: attributesToIgnore="hideOnStandard, hideFormatting" 和我的Mvc.sitemap: <mvcSiteMapNode title="Filters" controller="Parameterized"> <mvcSiteMapNode title="Filters" controller="Parameterized" action="Index"/>

我正在尝试使用多个
属性忽略
,因此我将其配置为:

attributesToIgnore="hideOnStandard, hideFormatting"
和我的
Mvc.sitemap

  <mvcSiteMapNode title="Filters" controller="Parameterized">
    <mvcSiteMapNode title="Filters" controller="Parameterized" action="Index"/>
    <mvcSiteMapNode title="Output" controller="Parameterized" action="Output" preservedRouteParameters="id" hideOnStandard="true"/>
    <mvcSiteMapNode title="Formatting" controller="Parameterized" action="Formatting" preservedRouteParameters="id" hideFormatting="true" />
  </mvcSiteMapNode>
我怎样才能真正完成我想做的事情?我试着用不同的方式来定义
属性stoignore
,但除此之外,我不太确定还有什么其他办法。我真的不想使用jQuery或其他东西来去除查询字符串

编辑 我如何知道要渲染什么:

@model MvcSiteMapProvider.Web.Html.Models.MenuHelperModel
@using System.Web.Mvc.Html
@using MvcSiteMapProvider.Web.Html.Models

<ul class="navProgress">
    @foreach (var node in Model.Nodes)
    {
        if (!(node.MetaAttributes.Keys.Contains("hideOnStandard") && TempData["IsStandard"] != null && ((bool)TempData["IsStandard"])))
        {
            if (!(node.MetaAttributes.Keys.Contains("hideFormatting") && TempData["hideFormatting"] != null && ((bool)TempData["hideFormatting"])))
            {
                <li @(node.IsCurrentNode ? "class=active" : "")>
                    @Html.DisplayFor(m => node)
                @if (node.Children.Any())
                {
                    @Html.DisplayFor(m => node.Children)
                }
                </li>
            }
        }
    }
</ul>
@model mvcsitemprovider.Web.Html.Models.MenuHelperModel
@使用System.Web.Mvc.Html
@使用MvcSiteMapProvider.Web.Html.Models
    @foreach(Model.Nodes中的var节点) { if(!(node.MetaAttributes.Keys.Contains(“hideOnStandard”)&&TempData[“IsStandard”]!=null&&((bool)TempData[“IsStandard”])) { if(!(node.MetaAttributes.Keys.Contains(“hideformating”)&&TempData[“hideformating”]!=null&((bool)TempData[“hideformating”])) { @DisplayFor(m=>node) @if(node.Children.Any()) { @DisplayFor(m=>node.Children) } } } }
根据,
属性忽略
应添加到
web.config
部分

<siteMap>
  <providers>
    <add name="MvcSiteMapProvider" type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider" 
         siteMapFile="~/Mvc.Sitemap"
         securityTrimmingEnabled="true"
         cacheDuration="5"
         enableLocalization="true"
         scanAssembliesForSiteMapNodes="true" 
         excludeAssembliesForScan="" 
         includeAssembliesForScan="" 
         attributesToIgnore="hideOnStandard,hideFormatting" 
         nodeKeyGenerator="MvcSiteMapProvider.DefaultNodeKeyGenerator, MvcSiteMapProvider" 
         controllerTypeResolver="MvcSiteMapProvider.DefaultControllerTypeResolver, MvcSiteMapProvider"
         actionMethodParameterResolver="MvcSiteMapProvider.DefaultActionMethodParameterResolver, MvcSiteMapProvider" 
         aclModule="MvcSiteMapProvider.DefaultAclModule, MvcSiteMapProvider"
         routeMethod=""
         siteMapNodeUrlResolver="MvcSiteMapProvider.DefaultSiteMapNodeUrlResolver, MvcSiteMapProvider" 
         siteMapNodeVisibilityProvider="MvcSiteMapProvider.DefaultSiteMapNodeVisibilityProvider, MvcSiteMapProvider" 
         siteMapProviderEventHandler="MvcSiteMapProvider.DefaultSiteMapProviderEventHandler, MvcSiteMapProvider" />
  </providers>
</siteMap>
而不是:

attributesToIgnore="hideOnStandard, hideFormatting"

您在哪里配置要忽略的属性?在
web.config
文件或DI模块中?@NightOwl888是的,web.config,很抱歉。如果您需要版本或其他任何信息,请告诉我。感谢您使用的是哪个版本的
MvcSiteMapProvider
?MetaAttributes自v3.x以来一直不是SiteMapNode的有效属性。让我编辑我的问题,向您展示我们如何利用当前的
属性忽略
,并让我知道您的答案是否仍然正确。如果有人想知道sitemap部分应该准确放置在哪里:配置>系统.web>sitemap
attributesToIgnore="hideOnStandard,hideFormatting"
attributesToIgnore="hideOnStandard, hideFormatting"