阅读:3954
回复:7
|
[求助]后台怎么取到页面自定义字段的值?
<asp:HiddenField id="test" runat="server"/> 在前台加了这样一个隐藏元素,9.2的mvcsheet表单页面,如何在后台获取到值,直接使用 test.value一直是空的。
前台经过一系列判断处理写入该值,需要在后台得到,然后进行处理数据。 现有流程已经上线,不想增加字段,然后再发布流程处理。 有没有什么好的方法处理? |
2楼#
发布于:2017-01-11 08:47
|
|
3楼#
发布于:2017-01-11 10:00
t156965365:用js算出来的值,在保存验证的时候根据几个字段判断出来的状态回到原帖你把源代码都放上来吧,我们分析一下 |
|
4楼#
发布于:2017-01-11 14:26
t156965365:用js算出来的值,在保存验证的时候根据几个字段判断出来的状态回到原帖可能在加载后台方法的时候前台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,那么不返回表单的数据 }); |
|
5楼#
发布于:2017-01-11 23:22
楼主可以参考楼上意见,
或可以先把HiddenField 控件先换成TextBox 检查你的js是否将值付给了服务器控件。 注意:前台js给服务器控件赋值时,id的获取方式为<%= id名.ClientID %> |
|
|
6楼#
发布于:2017-01-16 09:46
现在的处理方式就是按照4楼的方式,在保存之前再调用一次后台,处理相关的逻辑。
这样会导致保存或者提交的时候也没会刷新两次。 前台js赋值时没有问题的,调试能收到。 查看过mvcsheet.js的save代码: //保存 Save: function (actionControl) { if (!$.MvcSheet.ActionValidata(actionControl, true)) return false; $.LoadingMask.Show(SheetLanguages.Current.Saving); var SheetPostValue = this.GetMvcPostValue(this.Action_Save); var that = this; this.PostSheet( { Command: this.Action_Save, MvcPostValue: JSON.stringify(SheetPostValue) }, function (data) { that.ResultHandler.apply(that, [actionControl, data]); } ); }, 会重新封装post的数值,框架外的字段什么的都不会传到后台。被封装死了。 |
|
7楼#
发布于:2017-01-16 10:47
t156965365:现在的处理方式就是按照4楼的方式,在保存之前再调用一次后台,处理相关的逻辑。@武汉技术支持团队 |
|
|