小编Ben*_*Ben的帖子

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
查看次数

MvcSiteMapProvider - 动态节点的子节点不会显示在面包屑或站点地图中

我正在尝试为我的网站开发站点地图,以便在需要时维护URL参数.我正在使用MvcSiteMapProvider并尝试使用动态节点来保存各个节点的路由数据.但是,我遇到的问题是动态节点的子节点.当我在我的站点地图文件中的动态节点中嵌套节点时,它不会显示在使用Html.MvcSiteMap().SiteMap()生成的站点地图上,当我导航到该页面时,我丢失了所有的面包屑BEFORE动态节点.

例如,如果我的动态节点被称为"人员详细信息",则面包屑在"人员详细信息"页面上显示如下:

Home > People > Person Details
Run Code Online (Sandbox Code Playgroud)

但是当我进一步浏览页面时,说"联系人",面包屑看起来像这样:

Person Details > Contact Person
Run Code Online (Sandbox Code Playgroud)

没有前两条路径.此外,如果我尝试导航回Person Details,则不会保留任何url参数(例如,而不是转到http:// localhost:55555/Home/People/PersonDetails?id = 12,它会转到http:// localhost :55555/Home/People/PersonDetails).

当我尝试使用Html.MvcSiteMap().SiteMap()显示整个站点地图时,它会输出正确的层次结构直到动态节点.站点地图为动态节点提供程序中的每个"Person"节点列出一个唯一节点,但不显示动态节点的任何子节点.

我的站点地图看起来像这样(缩写):

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0" enableLocalization="true">
  <mvcSiteMapNode title="Home"  controller="Home" action="Index">
    <mvcSiteMapNode title="People" controller="Information" action="People">
      <mvcSiteMapNode title="Person Details" controller="Information" action="PersonDetails" dynamicNodeProvider="MySite.Code.PersonDetailsDynamicNodeProvider, MySite">
        <mvcSiteMapNode title="Contact Person" controller="Information" action="Contact" />
      </mvcSiteMapNode>
    </mvcSiteMapNode>
  </mvcSiteMapNode>
</mvcSiteMap>
Run Code Online (Sandbox Code Playgroud)

我的动态节点提供程序如下所示:

public class PersonDetailsDynamicNodeProvider : DynamicNodeProviderBase
{
    List<Person> people = proxy.GetPeople();

    public override IEnumerable<DynamicNode> GetDynamicNodeCollection()
    {
        var nodes = new List<DynamicNode>(); …
Run Code Online (Sandbox Code Playgroud)

.net c# sitemap asp.net-mvc-3

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

格式化目录中的所有XML文件并将其保存在子目录中

我正在尝试编写一个脚本,它将查看目录,查找所有XML文件,运行它们xmllint,并将格式化结果保存到名为的子目录中的同名文件中formatted.这是我到目前为止的脚本:

find . -maxdepth 1 -type f -iname "*.xml" | xargs -I '{}' xmllint --format '{}' > formatted/'{}'
Run Code Online (Sandbox Code Playgroud)

这在某种程度上有效.子目录最终得到一个名为的文件,"{}"它只是通过处理的最终文件的结果xmllint.如何让文件正确写入子目录?

bash find xargs xmllint

2
推荐指数
1
解决办法
3069
查看次数

Python:解析单行JSON文件

我正在尝试解析一个大的单行JSON文件,似乎无法搞清楚.我在这里和其他地方寻找资源,但我看到的大部分内容都告诉你逐行解析所有内容.由于我正在处理一个非常长的行,用python解析这个问题的最佳方法是什么?

具体来说,我正在寻找JSON数据中嵌套字典中的一个特定值.数据看起来像这样(在通过格式化程序运行之后):

{
   "type":"FeatureCollection",
   "features":[
      {
         "type":"Feature",
         "id":"wells.529038",
         "geometry":null,
         "properties":{
            "api":"4245180382"
         }
      },
      {
         "type":"Feature",
         "id":"wells.481699",
         "geometry":null,
         "properties":{
            "api":"4237182573"
         }
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我想提取所有的api值,但是由于文件很庞大而且只有一行,我无法解决如何做到这一点.这里最好的方法是什么?

python json

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

标签 统计

asp.net-mvc-3 ×2

sitemap ×2

.net ×1

bash ×1

breadcrumbs ×1

c# ×1

find ×1

json ×1

python ×1

sitemapprovider ×1

xargs ×1

xmllint ×1