1

我希望在 Sharepoint Designer 2007 中的 NewForm.aspx、EditForm.aspx 和 DispForm.aspx 页面上添加一个新字段。我设法添加了一个新的文本框 webpart 并编辑了通用文本框任务以制作数据字段我的新领域(联系人..)

但是如何编辑 Edit.aspx 和 DispForm.aspx 以显示这个新字段?

我环顾四周,已经回答了网站上的问题,但我没有遇到我真正想要的东西——如果我错过了,对不起!

谢谢!香农

4

5 回答 5

1

它不算作“开发”,但不会创建一个新的列表列、站点列或内容类型将此附加字段添加到您的所有列表表单中吗?这在您的特定情况下如何不起作用?

于 2009-04-27T14:37:43.767 回答
0

您必须使用 SharePoint Designer 访问网站并编辑这些 aspx(在以列表命名的文件夹的“表单”子文件夹中)

于 2009-04-27T13:05:10.617 回答
0

您可能会以错误的方式解决此问题。您不需要仅仅因为您想要一个新字段而更改列表的编辑和新表单。您确实需要将该字段添加到基础列表中,并依靠表单中的代码来正确显示该字段。

于 2009-04-27T21:24:04.117 回答
0

在 SPD 中选择最右侧的表格选项卡,然后选择一行,然后您可以在上方插入或在下方插入,然后您可以添加新字段。

于 2013-05-22T14:42:19.713 回答
0

新项目、编辑和显示表单不像附加到内容类型那样附加到列表。如果您无法使用 InfoPath 或 Designer 进行设置,您可以执行以下操作:

  1. 将相关表单创建为应用程序页面。无论出于何种原因,SharePoint 应用程序页面都不会在屏幕上呈现,因此为了了解我正在查看的内容,我通常首先将它们制作在可视 Web 部件或单独的 ASP 应用程序中,然后复制并粘贴 ASP/HTML完了,然后删掉原来的。

  2. 在编辑和显示表单的情况下,SP 将向您传递一个带有 ID 的查询字符串。因此,我捕获了有问题的项目:

            NameValueCollection nvQueryString = Page.Request.QueryString;
            taskID = Convert.ToInt32(nvQueryString["ID"]);
            ViewState["TaskID"] = taskID;
    
            SPWeb thisWeb = SPContext.Current.Web;
            SPList taskList = thisWeb.Lists["Job Request approval tasks"];
            SPListItem taskItem = taskList.GetItemById(taskID);
    
  3. 在添加您需要添加的任何内容之后,您确实需要将逻辑添加到 .cs 页面或实际编辑/添加相关项目的单独类。应该很明显吧...

  4. 从这里您有三个选项:创建一个事件接收器,将相关内容类型的 editformURL/displayformURL/newformURL 指向您的应用程序页面,创建一个全新的内容类型并在其 XML 定义中添加您的应用程序页面的 URL,或通过 Powershell 手动添加。

于 2013-05-22T18:39:39.363 回答