我希望在 Sharepoint Designer 2007 中的 NewForm.aspx、EditForm.aspx 和 DispForm.aspx 页面上添加一个新字段。我设法添加了一个新的文本框 webpart 并编辑了通用文本框任务以制作数据字段我的新领域(联系人..)
但是如何编辑 Edit.aspx 和 DispForm.aspx 以显示这个新字段?
我环顾四周,已经回答了网站上的问题,但我没有遇到我真正想要的东西——如果我错过了,对不起!
谢谢!香农
我希望在 Sharepoint Designer 2007 中的 NewForm.aspx、EditForm.aspx 和 DispForm.aspx 页面上添加一个新字段。我设法添加了一个新的文本框 webpart 并编辑了通用文本框任务以制作数据字段我的新领域(联系人..)
但是如何编辑 Edit.aspx 和 DispForm.aspx 以显示这个新字段?
我环顾四周,已经回答了网站上的问题,但我没有遇到我真正想要的东西——如果我错过了,对不起!
谢谢!香农
它不算作“开发”,但不会创建一个新的列表列、站点列或内容类型将此附加字段添加到您的所有列表表单中吗?这在您的特定情况下如何不起作用?
您必须使用 SharePoint Designer 访问网站并编辑这些 aspx(在以列表命名的文件夹的“表单”子文件夹中)
您可能会以错误的方式解决此问题。您不需要仅仅因为您想要一个新字段而更改列表的编辑和新表单。您确实需要将该字段添加到基础列表中,并依靠表单中的代码来正确显示该字段。
在 SPD 中选择最右侧的表格选项卡,然后选择一行,然后您可以在上方插入或在下方插入,然后您可以添加新字段。
新项目、编辑和显示表单不像附加到内容类型那样附加到列表。如果您无法使用 InfoPath 或 Designer 进行设置,您可以执行以下操作:
将相关表单创建为应用程序页面。无论出于何种原因,SharePoint 应用程序页面都不会在屏幕上呈现,因此为了了解我正在查看的内容,我通常首先将它们制作在可视 Web 部件或单独的 ASP 应用程序中,然后复制并粘贴 ASP/HTML完了,然后删掉原来的。
在编辑和显示表单的情况下,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);
在添加您需要添加的任何内容之后,您确实需要将逻辑添加到 .cs 页面或实际编辑/添加相关项目的单独类。应该很明显吧...
从这里您有三个选项:创建一个事件接收器,将相关内容类型的 editformURL/displayformURL/newformURL 指向您的应用程序页面,创建一个全新的内容类型并在其 XML 定义中添加您的应用程序页面的 URL,或通过 Powershell 手动添加。