【问题标题】:How to obtain document library name from the URL如何从 URL 中获取文档库名称
【发布时间】:2010-07-14 02:06:33
【问题描述】:

如何从 URL cqwp 获取文档库名称。例如,

http:///sites/site1/DocLib/Forms/AllItems.aspx

我知道 xsl 有子字符串函数

<xsl:param name="DocLibName"> 
  select=substring(url) or whatever the code should be
</xsl:param>

【问题讨论】:

    标签: sharepoint xslt document-library


    【解决方案1】:

    以下代码将根据您发布的 URL(或文档库中的任何视图)为您提供文档库的名称

    String pattern = ".*/(?<listStaticName>.+)/[^\\.]+\\.aspx";
    Regex regex = new Regex(pattern);
    MatchCollection matches = regex.Matches(DefaultViewUrl);
    String listStaticName = matches[0].Groups["listStaticName"].ToString();
    

    您可以使用this article中描述的方法从XSL调用.NET代码

    【讨论】:

    • 雨果,1。谢谢你的帮助,但是。这是 xsd 的代码吗?如果是,我将代码放在哪里?湾。如果没有,你能给我xsd代码从url中找出文档库名称吗(获取当前的文档库名称,如果有其他方法,它不必从url中获取)
    • 您可以从您的 xsl 代码中调用 .NET。我用链接编辑了我的答案。为什么要投反对票?
    【解决方案2】:

    使用标准的substring(string, int, int) 函数不会让你走得太远,因为我预计文档库名称的长度是未知的。

    但是,您可以同时使用两个函数,substring-after(string, string)substring-before(string, string)。只要您的站点名称不是“表单”,您就可以使用substring-before([URL], "/Forms") 检索部分字符串。其余的......如果您无法立即访问站点的名称,它仍然会很麻烦,但即使删除该选项,它仍然比 URL 长度的复杂计算要容易得多。你基本上必须不断地执行substring-after([string], "/"),直到你弹出最后一个斜线。

    【讨论】:

    • 感谢 ccomet。我会试一试,我会发布最终代码。谢谢/里亚
    【解决方案3】:
    1. 一些不错的链接。

    http://msdn.microsoft.com/en-us/library/dd583143(office.11).aspx

    1. 添加这两行

    &lt;xsl:variable name="DocLibName" select="substring-before(substring-after($PageUrl, '/Forms/'), '/')" /&gt;

    &lt;xsl:param name="PageUrl"/&gt;

    1. 设置 VIEWFLAG=1(应该在属性窗口中)

    2. 找到此行并根据需要修改过滤 webpart 列表

    &lt;xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row" /&gt;

    改成关注

    &lt;xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[(@CustomerNo=$DocLibName)]"/&gt;

    你可以用它来显示

    &lt;xsl:value-of select="$DocLibName"&gt; &lt;br/&gt;

    &lt;xsl:value-of select="$PageUrl"/&gt;&lt;br/&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 2023-03-21
      • 2023-02-09
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多