問題:

<asp:HiddenField id="test" runat="server"/> 在前臺加了這樣一個隱藏元素,mvcsheet表單頁面,如何在后臺獲取到值,直接使用 test.value一直是空的。

前臺經過一系列判斷處理寫入該值,需要在后臺得到,然后進行處理數據。

現有流程已經上線,不想增加字段,然后再發布流程處理。

有沒有什么好的方法處理?

?

解決方法

1. 可以先把HiddenField 控件先換成TextBox 檢查你的js是否將值付給了服務器控件。

注意:前臺js給服務器控件賦值時,id的獲取方式為<%= id名.ClientID %>

2. 可能在加載后臺方法的時候前臺JS還沒有把參數值賦予上去,

可以換一種模式處理,通過前臺JS調用后臺方法

// 增加自定義工具欄按鈕方法,觸發后臺事件

????????$.MvcSheet.AddAction({

????????????Action: "TestAction", ??????// 執行后臺方法名稱

????????????Icon: "fa-print", ??????????// 按鈕圖標

????????????Text: "后臺事件", ??????????// 按鈕名稱

????????????Datas: ["{selectUser}"], ???// 參數,多個參數 "{Param1}","Param2"...

????????????//OnAction: function () { ????

????????????/*

????????????自定義按鈕執行事件,如果為 null 則調用$.MvcSheet.Action 執行后臺方法

????????????如果不為 null,那么會執行這里的方法,需要自己Post到后臺或寫前端邏輯

????????????*/

????????????//},

????????????OnActionDone: function (e) {

????????????????// 后臺方法調用完成后觸發

????????????????// 以下是將后臺的值輸出到前端控件中

????????????????if (e) {

????????????????????$.MvcSheetUI.SetControlValue("code", e.Code);

????????????????????$.MvcSheetUI.SetControlValue("mvcName", e.Name);

????????????????}

????????????},

????????????PostSheetInfo: true ????????// 是否提交表單數據,如果 false,那么不返回表單的數據

????????});