问题:
<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,那么不返回表单的数据
});