SaveDataPage
设置 PageOffice 控件的数据保存页面。
此属性是 PageOfficeCtrl 控件的重要属性。SaveDataPage 页面用来接收 PageOfficeCtrl 控件提交的用户输入的数据。如果您需要保存用户输入到文档中的数据,您就必须在调用 WebOpen 之前给 SaveDataPage 属性赋值。
调用 WebOpen 方法之前,创建 PageOfficeNetCore.Word.WordDocumentWriter 或 PageOfficeNetCore.Excel.WorkbookWriter 对象指定要提交的DataRegions、Cells 或 Tables 并且调用 setWriter 方法设置数据对象。
如果当前文档是Word文档,WebOpen 方法中的 OpenMode 参数必须设置为 OpenModeType.docSubmitForm。如果当前文档是Excel文档,WebOpen 方法中的 OpenMode 参数必须设置为 OpenModeType.xlsSubmitForm。
给 SaveDataPage 属性赋值后,您需要创建 SaveData 页面用来接收 PageOfficeCtrl 控件提交的数据。在 SaveData 页面里,您需要创建 PageOfficeNetCore.Word.WordDocumentReader 或 PageOfficeNetCore.Excel.WorkbookReader 对象用来接收控件提交的用户输入数据。
当 PageOfficeCtrl 控件保存文档的时候,PageOfficeCtrl 控件首先提交文档中需要提交的数据到指定的 SaveDataPage 页面,然后再提交文档到指定的 SaveFilePage 页面。
如果 SaveDataPage 属性没有赋值,控件就不会提交文档中的指定数据。如果 SaveFilePage 属性没有赋值,控件就不会提交文档。 如果 SaveDataPage 属性和 SaveFilePage 属性都没有赋值,PageOfficeCtrl 控件会报错。
语法:
public string SaveDataPage { get; set; }
无默认值。SaveDataPage 属性的值是用来接收控件提交用户输入数据的服务器页面的URL。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
示例:
Word 示例代码:
PageOfficeNetCore.Word.WordDocumentWriter doc = new PageOfficeNetCore.Word.WordDocumentWriter();
PageOfficeNetCore.Word.DataRegionWriter dataRegion = doc.OpenDataRegion("name");
dataRegion.Editing = true;
PageOfficeNetCore.PageOfficeCtrl POCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
POCtrl.SetWriter(doc); // 数据对象是 PageOfficeNetCore.Word.WordDocumentWriter 对象。
POCtrl.SaveDataPage = "doc/savedata.aspx";
POCtrl.WebOpen("doc/test.doc", PageOfficeNetCore.OpenModeType.docSubmitForm, "张三");
Excel 示例代码:
PageOfficeNetCore.Excel.WorkbookWriter wb = new PageOfficeNetCore.Excel.WorkbookWriter();
PageOfficeNetCore.Excel.SheetWriter sheetOrder = wb.OpenSheet("Order");
sheetOrder.OpenCell("B5").SubmitName = "ItemCount"; // "ItemCount" 由开发人员自由定义。
PageOfficeNetCore.PageOfficeCtrl POCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
POCtrl.SetWriter(wb); // 数据对象是 PageOfficeNetCore.Excel.WorkbookWriter 对象。
POCtrl.SaveDataPage = "doc/savedata.aspx";
POCtrl.WebOpen("doc/test.xls", PageOfficeNetCore.OpenModeType.xlsSubmitForm, "张三");