如何在应用程序页面中使用SharePoint字段

如何在应用程序页面中使用SharePoint字段,sharepoint,sharepoint-2013,Sharepoint,Sharepoint 2013,我正在创建应用程序页面。在此应用程序页面上,我想更新列表中的一些SharePoint字段 所以我在aspx文件中创建了这个: <asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <SharePoint:TextField ControlMode="Edit" runat="server" FieldName="Size" ID="SizeField"><

我正在创建应用程序页面。在此应用程序页面上,我想更新列表中的一些SharePoint字段

所以我在aspx文件中创建了这个:

<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">


    <SharePoint:TextField ControlMode="Edit" runat="server" FieldName="Size" ID="SizeField"></SharePoint:TextField>
</asp:Content>
但是当我加载页面时,我得到了错误

但是当我添加到aspx中时(直接在aspx中添加ListId和ItemId)


cs中的页面加载是空的,它可以正常工作

但我想在cs代码中动态更改ItemId和ListId…嗯…谢谢


PS:我也尝试将初始化添加到OnInit或CreateChildControls中,但没有成功。谢谢

首先,我认为您应该检查splist对象是否不返回null。 然后可以创建对象并将其写入UI。也许在aspx和cs上使用混合解决方案并没有奏效

protected void Page_Load(object sender, EventArgs e)
        {

            SPList list = SPContext.Current.Web.Lists["Media Content"];
            SizeField.ListId = list.ID;
            SizeField.ItemId = 5;
}
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">


    <SharePoint:TextField ControlMode="Edit" runat="server" FieldName="Size" ID="SizeField" ListId="7a00ae8c-9e8d-4762-81a2-a21b76a24ea7" ItemId="5"></SharePoint:TextField>
</asp:Content>