ASP.Net MVC 5路由通配符+查询字符串

时间:2016-06-11 10:52:27

标签: asp.net asp.net-mvc-5 asp.net-mvc-routing

我正在使用此路由过滤器

http://localhost:50877/search/c_50_showcases%5E-displays/a_brand-name:33113319_balt:1623762%7Cmooreco:1672386/a_total-number-of-shelves:33111115429_5:3138:lt/so_ts

这需要我提供的所有细分可能很多。

这是一个例子

http://localhost:50877/search/?query=HP%20DesignJet&items=HEW51645A|ELI75220

现在我还需要具有此路由的查询字符串,但我无法使其正常工作。

403

它给了我search错误。

  

Web服务器配置为不列出此目录的内容

如何创建可以使用通配符和查询字符串来处理传入请求的路由。我必须在Route中使用http://localhost:50877/search/test?query=HP%20DesignJet&items=HEW51645A|ELI75220

我也试过这个

{{1}}

它有效,但这会影响搜索引擎优化。

1 个答案:

答案 0 :(得分:1)

以这种方式定义行动和路线:

<Menu DockPanel.Dock="Top" ItemsSource="{Binding MenuItems}">
            <Menu.Resources>
                <SolidColorBrush x:Key="ImageBrush" Color="Blue"/>
                <Image x:Key="menuIcon" x:Shared="false" Source="{Binding Path=Icon, Converter={fa:ImageSourceConverter}, ConverterParameter={StaticResource ImageBrush}}" />
                <HierarchicalDataTemplate DataType="{x:Type local:MenuItemViewModel}" ItemsSource="{Binding Path=ChildMenuItems}">
                    <HierarchicalDataTemplate.ItemContainerStyle>
                        <Style TargetType="MenuItem">
                            <Setter Property="Command" Value="{Binding Command}" />
                            <Setter Property="Icon" Value="{StaticResource menuIcon}" />
                        </Style>
                    </HierarchicalDataTemplate.ItemContainerStyle>
                    <StackPanel Orientation="Horizontal">
                        <Label Content="{Binding Header}" />
                    </StackPanel>
                </HierarchicalDataTemplate>
            </Menu.Resources>
        </Menu>

允许获取通配符(在段变量中)并查询字符串参数(查询和项目)