在 SharePoint 2010 中的任何列表中,当您打开列表项的详细信息视图时,您会看到显示表单。

如果列表项的详细信息视图包含查找字段,它将显示为超链接。

当您单击此超链接时,它将在新窗口中打开。

是否有办法不打开新窗口,而是打开另一个弹出窗口,甚至重新加载原始弹出窗口?

这将使 SharePoint 看起来更像是一个应用程序而不是一个网站。

提前致谢。

有帮助吗?

解决方案

您可以使用 jQuery 来更改行为。这是基于我 2007 年所做的事情,但 2010 年也应该如此。它将 target=blank 属性附加到任何以 .msi 结尾的 href。您只需将选择器更改为查找字段的正确属性即可。

<script type="text/javascript" src="/Resources/jquery.js"></script>
<script type ="text/javascript">
 $(document).ready(function(){
   $("a[href$='.msi']").attr("target", "_self"); 
 });
</script>

其他提示

实现此目的的首选方法是使用自定义渲染模板。

渲染模板是ControlTemplates文件夹中的ASCX文件,该文件定义了在显示和编辑中如何显示SharePoint表单。有高级模板“形式”和非常低级别的模板,例如“ TextBox”。

对于多查找字段,有模板“ Multiplookupfield”。您可以自己替换此模板。单个查找字段不使用渲染模板,不能直接使用此方法替换。相反,如果您对列表模板具有控制权,则可以将列表模板绑定到自定义表单渲染模板(例如'ListForm')并从头开始构建。实际上,您需要复制所有默认模板,例如ListForm,ListFieldIterator,CompositeField和FormField。这将使您可以通过自己实现字段显示来改变查找字段的方式。这是一项中等水平的投资,得到了完全支持。

接下来,您可以尝试做一些jQuery骗局。也可以使用,但是这是不可证实的,因为您与可能在服务包中变化的非标准化HTML结构具有约束力。

要了解有关渲染模板的更多信息,请在ControlTemplates文件夹中打开DefaultTemplates.ASCX。但是,关于MSDN的信息很少,但是可以找到一些相关主题。

wouter

许可以下: CC-BY-SA归因
scroll top