标签: sitemapprovider

MVC站点地​​图提供程序 - 维护痕迹路径中的URL参数

我正在使用http://mvcsitemap.codeplex.com/中的MvcSiteMapProvider 为我的项目创建面包屑跟踪.我有一些URL需要传递给相应用户的信息,例如http:// localhost:52306/Home/User?ID = 101101

当我进一步导航到站点地图(例如http:// localhost:52306/Home/User/Details?ID = 101101)并尝试使用痕迹导航链接将我带回"用户"页面时,ID参数将丢失.我尝试将SiteMapPreserveRouteData属性添加到操作方法,但它们似乎没有做任何事情.是否有一种简单的方法可以确保保留此ID信息?我认为SiteMapPreserveRouteDataAttribute应该这样做,所以我的属性有问题吗?我的方法看起来像这样:

[SiteMapPreserveRouteData]
public ActionResult User()
{
  //code
}
Run Code Online (Sandbox Code Playgroud)

如果您需要我的更多信息,请告诉我.

sitemap breadcrumbs sitemapprovider asp.net-mvc-3

8
推荐指数
1
解决办法
4522
查看次数

如何将<asp:Menu>显示为bootstrap navbar

我正在开发一个ASP.Net应用程序,我有一个Bootstrap navbar设置如下:

Site.Master

<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <asp:HyperLink runat="server" AccessKey="1" ToolTip="Go to Home Page" NavigateUrl="~/Home">
                Home
            </asp:HyperLink>
        </div>

        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li>
                    <a runat="server" href="~/Page_1">Page 1</a>
                </li>
                <li>
                    <a runat="server" href="~/Page_2">Personal Details</a>
                </li>
                <li>
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
                        Page 3 <span class="caret"></span>
                    </a>
                    <ul class="dropdown-menu">
                        <li><a runat="server" href="~/Page_3/Page_3A">Page 3A</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a runat="server" href="~/Page_3/Page_3B">Page 3B</a></li>
                        <li><a …
Run Code Online (Sandbox Code Playgroud)

css asp.net sitemapprovider navbar twitter-bootstrap

7
推荐指数
1
解决办法
6205
查看次数

如何使用mvcsitemapprovider将自定义xml标记添加到sitemap.xml?

根据Google在视频站点地图中定义的内容,应该将一些xml标记添加到视频的站点地图中,它应该是这样的:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
 <loc>http://www.example.com/videos/some_video_landing_page.html</loc>
 <video:video>
   <video:thumbnail_loc>http://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
   <video:title>Grilling steaks for summer</video:title>
   <video:description>Alkis shows you how to get perfectly done steaks every
     time</video:description>
   <video:content_loc>http://www.example.com/video123.mp4</video:content_loc>
   <video:player_loc autoplay="ap=1">
     http://www.example.com/videoplayer.mp4?video=123</video:player_loc>
   <video:duration>600</video:duration>
   <video:expiration_date>2009-11-05T19:20:30+08:00</video:expiration_date>
   <video:rating>4.2</video:rating>
   <video:view_count>12345</video:view_count>
   <video:publication_date>2007-11-05T19:20:30+08:00</video:publication_date>
   <video:family_friendly>yes</video:family_friendly>
   <video:restriction relationship="allow">IE GB US CA</video:restriction>
   <video:gallery_loc title="Cooking Videos">http://cooking.example.com</video:gallery_loc>
   <video:price currency="EUR">1.99</video:price>
   <video:requires_subscription>yes</video:requires_subscription>
   <video:uploader info="http://www.example.com/users/grillymcgrillerson">GrillyMcGrillerson
     </video:uploader>
   <video:live>no</video:live>
 </video:video>
Run Code Online (Sandbox Code Playgroud)

我想知道如何动态地将这些自定义标签添加到我的sitemap.xml中?我正在使用mvcsitemapprovider

sitemapprovider google-sitemap mvcsitemapprovider asp.net-mvc-sitemap

7
推荐指数
1
解决办法
316
查看次数

站点地图安全修整会引发SQL错误

我正在使用默认的Sitemap提供程序进行安全修整.但是,有些如何,我得到:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.

我认为站点地图提供商正在寻找错误位置的角色.我的配置是这样的:

<connectionStrings>
   <add name="DB" ... />
</connectionStrings>


   <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear/>
        <add name="SqlProvider" .../>
      </providers>
    </membership>
    <roleManager enabled="true">
      <providers>
        <add connectionStringName="DB"  type="System.Web.Security.SqlRoleProvider" ... />
      </providers>
    </roleManager>
Run Code Online (Sandbox Code Playgroud)

Sitemap标记的定义如下:

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true"  >
      <providers>
          <clear/>
          <add name="XmlSiteMapProvider"
            description="Default SiteMap provider."
            type="System.Web.XmlSiteMapProvider "
            siteMapFile="Web.sitemap"
            securityTrimmingEnabled="true"  />
      </providers>
  </siteMap>
Run Code Online (Sandbox Code Playgroud)

为什么我得到sql错误?修剪如何获得角色?

编辑: ysod

c# asp.net asp.net-membership roleprovider sitemapprovider

6
推荐指数
1
解决办法
455
查看次数

如何在 ASP.net 页面中设置面包屑

我的页面文件夹层次结构是(它们都在同一个文件夹中):

Site.Master
Default.aspx
find_provider.aspx
provider.aspx
Run Code Online (Sandbox Code Playgroud)

我有一个Web.sitemap页面设置:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="~/Default.aspx" title="Home"  description="Homepage">
        <siteMapNode url="~/find_provider.aspx" title="Provider" description="Search for provider">
            <siteMapNode url="~/provider.aspx" title="Profile" description="Shows each provider profile" />
        </siteMapNode>
    </siteMapNode>
</siteMap>
Run Code Online (Sandbox Code Playgroud)

我在我的 MasterPage 中调用:

<div id="navigation">
    <ul>
        <li><asp:HyperLink runat="server" ID="lnkHome" NavigateUrl="~/Default.aspx">Home</asp:HyperLink></li>

        <asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">
            <ItemTemplate>
                <li>
                    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>
                </li>
            </ItemTemplate>
        </asp:Repeater>
    </ul>

    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />
</div>
Run Code Online (Sandbox Code Playgroud)

Default.aspx我的登陆页面也是如此。用户可以单击find_provider.aspx以搜索他们选择的提供商。对于每个提供商搜索结果,用户可以单击 PROFILE 链接查看每个提供商的信息,即provider.aspx页面。

所以:

  • 如果我在主页上,我的面包屑应该是: …

c# xml asp.net repeater sitemapprovider

5
推荐指数
1
解决办法
1万
查看次数

mvc 3站点地图提供程序 - 指向同一节点的多个路径

我最近开始使用marteenba的站点地图提供程序,因为我无法解决其他站点地图的路由问题.它比我以前的方式更好.我的问题是:如何从进入单个主页的页面创建不同的痕迹痕迹?考虑以下想法:

站点地图结构

<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal">
       <mvcSiteMapNode title="Clients Search" controller="ClientBussiness" action="ClientSearch" description="Clients Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>

        <mvcSiteMapNode title="Advanced Search" controller="ClientBussiness" action="AdvancedSearch" description="Clients Advanced Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>

        <mvcSiteMapNode title="Another Search" controller="ClientBussiness" action="AnotherSearch" description="Clients Another Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>
</mvcSiteMapNode>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我的痕迹痕迹始终显示节点"客户端搜索"而不是任何其他节点.我不知道是否应该为每种搜索创建不同的路由(我在上一个站点地图上做了这个,但不幸的是iis6不喜欢它).

我感谢您的帮助.

编辑

在论坛上搜索我发现了类似的问题.因此,请考虑以下结构:

Home >> Search >> Contracts
Home >> Another Search >> Contracts
Home >> Advanced Search >> Contracts
Home >> Web Service Search >> Extra …
Run Code Online (Sandbox Code Playgroud)

sitemapprovider asp.net-mvc-3

4
推荐指数
1
解决办法
4909
查看次数