問題:
<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,那么不返回表單的數據
????????});
轉載于:https://blog.51cto.com/12438115/1912456