Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PowerShell中为SharePoint列表创建新表单?_Powershell_Sharepoint_Sharepoint 2010 - Fatal编程技术网

如何在PowerShell中为SharePoint列表创建新表单?

如何在PowerShell中为SharePoint列表创建新表单?,powershell,sharepoint,sharepoint-2010,Powershell,Sharepoint,Sharepoint 2010,我发现了那是一条艰难的道路。(如果有,请纠正我,因为尝试这种方法的家伙似乎和我一样失败了……上传的文件从未被识别为表单。) 有没有更简单的方法从头开始创建新表单并向其中添加web部件?我尝试过发送一个空的ish表单文件,甚至是一个空白的文本文件,在向这两个文件添加Web部件之后,它们生成了相同的空壳。。。。理论上,这应该有项目,但它什么也不显示,完全忽略了我在“添加”项目后向表单中注入项目的尝试 “虚拟形式”尝试: 结果(它实际上在浏览器中不显示任何内容): ... .... 对于列表$lis

我发现了那是一条艰难的道路。(如果有,请纠正我,因为尝试这种方法的家伙似乎和我一样失败了……上传的文件从未被识别为表单。)

有没有更简单的方法从头开始创建新表单并向其中添加web部件?我尝试过发送一个空的ish表单文件,甚至是一个空白的文本文件,在向这两个文件添加Web部件之后,它们生成了相同的空壳。。。。理论上,这应该有项目,但它什么也不显示,完全忽略了我在“添加”项目后向表单中注入项目的尝试

“虚拟形式”尝试:

结果(它实际上在浏览器中不显示任何内容):


...
....

对于列表$list和网站$web上的表单,以下代码有效。Add()有很多重写,没有一个会同时使用默认表单类型和布尔值来允许重写,所以我在这里写了一个“条件”删除

$rootFolder = $list.RootFolder
$part0 = $web.ServerRelativeUrl
$part1 = $rootFolder.URL
$newFormUrl = "${part0}/${part1}/${newname}"

# Delete file first.
try {
    $list.RootFolder.Files.Delete($list.RootFolder.Files[$newFormUrl].url)
} catch {
    # It's optional.
    Write-Host "Delete failed."
}
$done = $list.RootFolder.Files.Add($newFormUrl,
        [Microsoft.SharePoint.SPTemplateFileType]::FormPage)
<%@ Page language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage..."  %>
<%@ Register Tagprefix="SharePoint"  ... %>
...
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
<SharePoint:UIVersionedContent UIVersion="4" runat="server">
    <ContentTemplate>
    <div style="padding-left:5px">
    </ContentTemplate>
</SharePoint:UIVersionedContent>
    <table cellpadding="0" cellspacing="0" id="onetIDListForm" style="width:100%">
     <tr>
     <td>
     <WebPartPages:WebPartZone runat="server" FrameType="None" ID="Main" Title="loc:Main"><ZoneTemplate>
        <WebPartPages:DataFormWebPart... PageType="PAGE_EDITFORM" FrameState="Normal" ...>
....
$rootFolder = $list.RootFolder
$part0 = $web.ServerRelativeUrl
$part1 = $rootFolder.URL
$newFormUrl = "${part0}/${part1}/${newname}"

# Delete file first.
try {
    $list.RootFolder.Files.Delete($list.RootFolder.Files[$newFormUrl].url)
} catch {
    # It's optional.
    Write-Host "Delete failed."
}
$done = $list.RootFolder.Files.Add($newFormUrl,
        [Microsoft.SharePoint.SPTemplateFileType]::FormPage)