用PageOffice如何實現向保存頁面傳遞參數

 

在開發ASP.NET項目過程當中,常常會須要向PageOffice指定的保存頁面傳遞參數。本文主要講述的就是幾種傳遞參數的方法。
有些參數能夠簡單的經過URL傳遞或者經過Session、Cookie等傳遞,但當內容爲中文或者傳遞的內容不少時,再經過這幾種方式傳遞參數就不行或者太複雜了。下面我就來介紹PageOffice開發平臺下,經過Form表單中的Form控件傳遞參數的方法。該方法既解決了無需編碼就傳遞中文參數的問題,又解決了傳遞多個參數的問題。就以簡單的打開一個Word文件,並保存,在保存頁面中經過幾種方式獲取返回值爲例吧。
第一步:請先安裝PageOffice的服務器端的安裝程序,以後在你的網站或項目的根目錄下添加pageoffice文件夾(在
PageOffice官方網站的「下載中心」中可下載相應的壓縮包,解壓以後直接將PageOffice實例代碼裏的pageoffice文件夾拷貝到根目錄下就能夠了)。
第二步:在網站或項目中添加文件夾存放word模板文件,我習慣命名爲「doc」,將要打開的文件拷貝到該文件夾下,我要打開的文件爲「test.doc」。
第三步:在網站或項目中建立動態頁面EditWord.aspx。在工具箱中拖動一個PageOfficeCtrl控件到頁面上(PageOfficeCtrl控件位於工具箱最下方)。
第四步:在EditWord.aspx頁面中,爲PageOfficeCtrl控件所在的層(<div></div>)設置大小,不然Word文件在線打開後沒法正常顯示,再在頁面中添加Html標籤:<input type="text" />、<select></select>、<input type="hidden"/>,部分代碼以下:
    <input id="Hidden1" name="age" type="hidden" value="25" />
    <span style="color: Red;">
姓名:</span>
    <input id="Text1" name="userName" type="text" /><br />
    <span style="color: Red;">性別:
</span>
    <select id="Select1" name="selSex">
    <option value="男">男
</option>
    <option value="女">女
</option>
    </select>
    <!--PageOfficeCtrl控件
-->
    <div style="width: auto; height: 700px;">
    <po:PageOfficeCtrl ID="PageOfficeCtrl1" runat="server" CustomToolbar="True" Menubar="True">
    </po:PageOfficeCtrl>
    </div>
在EditWord.aspx.cs中設置PageOffice的服務器頁面、保存頁面和打開Word文件的方式,部分代碼以下:

    //設置服務器頁面
    PageOfficeCtrl1.ServerPage = "pageoffice/server.aspx";
    PageOfficeCtrl1.Caption = "
演示:向保存頁面傳遞參數,更新人員信息";
    PageOfficeCtrl1.AddCustomToolButton("保存
", "Save()",1);
    PageOfficeCtrl1.AddCustomToolButton("全屏
", "SetFullScreen()", 4);

    //設置保存頁

    PageOfficeCtrl1.SaveFilePage = "SaveFile.aspx?id=1";//經過url傳遞id參數
服務器

//打開文件
    PageOfficeCtrl1.WebOpen("doc/test.doc", PageOffice.OpenModeType.docNormalEdit, "張佚名");
第五步:在SaveFile.aspx.cs中,利用PageOffice.FileSaver對象獲取EditWord.aspx頁面傳遞過來的值,部分代碼以下:

//定義FileSaver對象
    PageOffice.FileSaver fs = new PageOffice.FileSaver();
    //
保存Word文內容到本地磁盤中
    fs.SaveToFile(Server.MapPath("doc/") + fs.FileName);
ide

string userName = "";
    int age = 0;
    string sex = "";
    //
獲取經過Form表單中的標籤控件傳遞過來的參數值,注意fs.GetFormField("HTML標籤的name名稱")方法中的參數名是值標籤的「name」屬性而不是Id;且當傳遞的是中文時也無需編碼、解碼
工具


    //
獲取經過文本框<input type="text" />標籤傳遞過來的值
    if (fs.GetFormField("userName") != null && fs.GetFormField("userName").Trim().Length > 0)
    {
    userName = fs.GetFormField("userName");
    }
網站

//獲取經過隱藏域傳遞過來的值
    if (fs.GetFormField("age") != null && fs.GetFormField("age").Trim().Length > 0)
    {
     age = int.Parse(fs.GetFormField("age"));
    }
編碼

//獲取經過<select>標籤傳遞過來的值
    if (fs.GetFormField("selSex") != null && fs.GetFormField("selSex").Trim().Length > 0)
    {
     sex = fs.GetFormField("selSex");
    }
    //
設置保存返回值,可在SendParameters.aspx頁面經過該返回值判斷是否保存成功或者獲取一些須要的數據,如記錄的ID等
    fs.CustomSaveResult = "OK";
    //
關閉FileSaver對象
    fs.Close();
除經過以上方式傳遞參數外,還能夠經過<input id="Radio1" type="radio" />、<textarea id="TextArea1"></textarea>、<input id="Checkbox1" type="checkbox" />等Html標籤傳遞參數,獲取參數值的方法與上述代碼相同:fs.GetFormField("HTML標籤的name名稱")。
url

用PageOffice如何實現向保存頁面傳遞參數spa

在開發ASP.NET項目過程當中,常常會須要向PageOffice指定的保存頁面傳遞參數。本文主要講述的就是幾種傳遞參數的方法。
有些參數能夠簡單的經過URL傳遞或者經過Session、Cookie等傳遞,但當內容爲中文或者傳遞的內容不少時,再經過這幾種方式傳遞參數就不行或者太複雜了。下面我就來介紹PageOffice開發平臺下,經過Form表單中的Form控件傳遞參數的方法。該方法既解決了無需編碼就傳遞中文參數的問題,又解決了傳遞多個參數的問題。就以簡單的打開一個Word文件,並保存,在保存頁面中經過幾種方式獲取返回值爲例吧。
第一步:請先安裝PageOffice的服務器端的安裝程序,以後在你的網站或項目的根目錄下添加pageoffice文件夾(在
PageOffice官方網站的「下載中心」中可下載相應的壓縮包,解壓以後直接將PageOffice實例代碼裏的pageoffice文件夾拷貝到根目錄下就能夠了)。
第二步:在網站或項目中添加文件夾存放word模板文件,我習慣命名爲「doc」,將要打開的文件拷貝到該文件夾下,我要打開的文件爲「test.doc」。
第三步:在網站或項目中建立動態頁面EditWord.aspx。在工具箱中拖動一個PageOfficeCtrl控件到頁面上(PageOfficeCtrl控件位於工具箱最下方)。
第四步:在EditWord.aspx頁面中,爲PageOfficeCtrl控件所在的層(<div></div>)設置大小,不然Word文件在線打開後沒法正常顯示,再在頁面中添加Html標籤:<input type="text" />、<select></select>、<input type="hidden"/>,部分代碼以下:
    <input id="Hidden1" name="age" type="hidden" value="25" />
    <span style="color: Red;">
姓名:</span>
    <input id="Text1" name="userName" type="text" /><br />
    <span style="color: Red;">性別:
</span>
    <select id="Select1" name="selSex">
    <option value="男">男
</option>
    <option value="女">女
</option>
    </select>
    <!--PageOfficeCtrl控件
-->
    <div style="width: auto; height: 700px;">
    <po:PageOfficeCtrl ID="PageOfficeCtrl1" runat="server" CustomToolbar="True" Menubar="True">
    </po:PageOfficeCtrl>
    </div>
在EditWord.aspx.cs中設置PageOffice的服務器頁面、保存頁面和打開Word文件的方式,部分代碼以下:

    //設置服務器頁面
    PageOfficeCtrl1.ServerPage = "pageoffice/server.aspx";
    PageOfficeCtrl1.Caption = "
演示:向保存頁面傳遞參數,更新人員信息";
    PageOfficeCtrl1.AddCustomToolButton("保存
", "Save()",1);
    PageOfficeCtrl1.AddCustomToolButton("全屏
", "SetFullScreen()", 4);

    //設置保存頁

    PageOfficeCtrl1.SaveFilePage = "SaveFile.aspx?id=1";//經過url傳遞id參數
orm

//打開文件
    PageOfficeCtrl1.WebOpen("doc/test.doc", PageOffice.OpenModeType.docNormalEdit, "張佚名");
第五步:在SaveFile.aspx.cs中,利用PageOffice.FileSaver對象獲取EditWord.aspx頁面傳遞過來的值,部分代碼以下:

//定義FileSaver對象
    PageOffice.FileSaver fs = new PageOffice.FileSaver();
    //
保存Word文內容到本地磁盤中
    fs.SaveToFile(Server.MapPath("doc/") + fs.FileName);
server

string userName = "";
    int age = 0;
    string sex = "";
    //
獲取經過Form表單中的標籤控件傳遞過來的參數值,注意fs.GetFormField("HTML標籤的name名稱")方法中的參數名是值標籤的「name」屬性而不是Id;且當傳遞的是中文時也無需編碼、解碼
對象


    //
獲取經過文本框<input type="text" />標籤傳遞過來的值
    if (fs.GetFormField("userName") != null && fs.GetFormField("userName").Trim().Length > 0)
    {
    userName = fs.GetFormField("userName");
    }

//獲取經過隱藏域傳遞過來的值
    if (fs.GetFormField("age") != null && fs.GetFormField("age").Trim().Length > 0)
    {
     age = int.Parse(fs.GetFormField("age"));
    }

//獲取經過<select>標籤傳遞過來的值
    if (fs.GetFormField("selSex") != null && fs.GetFormField("selSex").Trim().Length > 0)
    {
     sex = fs.GetFormField("selSex");
    }
    //
設置保存返回值,可在SendParameters.aspx頁面經過該返回值判斷是否保存成功或者獲取一些須要的數據,如記錄的ID等
    fs.CustomSaveResult = "OK";
    //
關閉FileSaver對象
    fs.Close();
除經過以上方式傳遞參數外,還能夠經過<input id="Radio1" type="radio" />、<textarea id="TextArea1"></textarea>、<input id="Checkbox1" type="checkbox" />等Html標籤傳遞參數,獲取參數值的方法與上述代碼相同:fs.GetFormField("HTML標籤的name名稱")。

相關文章
相關標籤/搜索