我们正在将一个外部JavaScript应用程序集成到Acumatica中,我们需要能够访问已登录用户的授权/用户访问角色。我们的想法是,如果我们可以将登录用户的访问角色作为全局范围变量写到页面源,我们的JavaScript应用程序可以处理其余的变量,但是在弄清楚如何做到这一点上我们面临一些挑战。我们知道我们可以将角色写入跟踪屏幕,但这无济于事,因为我们确实需要页面源中的角色才能正常工作(理想情况下是页面源而不是DOM-但是我们可以研究DOM是否可以也可以)。
任何帮助将不胜感激。
答案 0 :(得分:0)
ASP.Net中的页面源是驻留在服务器上的ASPX.CS文件,我怀疑您的JavaScript可以插入该文件中。从服务器到UI层的通信是模板引擎。
您在ASPX文件中定义字段,并且这些模板字段将用DataViews当前记录填充。页面中的JavaScript最小化版本运行该模板引擎。
您不能简单地生成动态HTML或从服务器访问事物的JavaScript端。因此,在DOM中具有字段值可能是最好的选择。如果需要,可以使控件不可见。
使用JavaScript读取UI控件值的示例:
<%@ MasterType VirtualPath="~/MasterPages/FormDetail.master" %>
<asp:content id="cont1" contentplaceholderid="phDS" runat="Server">
<script language="javascript" type="text/javascript">
window.addEventListener('load', function () {
// Fetch a value from UI control
var control = px_alls["edControlID"];
var value = control.getValue();
});
</script>
[...]
</asp:content>