在javascript中访问C#变量

我将在C#.NET中为DMS(教育领域)设计一个网站,我是新手。

在我的一个ASPX页面中,我想根据accessright禁用一个JavaScript菜单。

存储在数据库表中的accessright login为SQL Server中的一个属性,我想要accessright访问权限检索到一个C#变量,并希望在JavaScript中访问该变量。

如果有其他可能的方法请告诉。

好吧,我们曾经在ASP时使用过一条快捷方式,这仍然适用于ASP.NET
在页面代码隐藏声明一个公共属性说public int MyInteger
在aspx中放了这个

  

我在将服务器silde变量传递给Javascript变量的问题中找到了这个。 最好的方法是使用eval() javascript方法:

 function GetMyValue(){ eval("var someVar = " + parseInt<%=this.MyInteger%>")); //Do something } 

使用它并享受它。 ;)

这是我快速用Google搜索的示例代码。 http://www.eggheadcafe.com/community/aspnet/7/63763/using-c-variable-in-java.aspx它应该指向正确的方向。 strvariable是你的C#变量。

    

您无法在客户端代码中访问服务器端变量。 唯一的方法是使用AJAX库或将变量注入页面作为客户端脚本。

将变量的值注入页面,如下所示:

 string script = string.Format("var myVariable = '{0}';", vaiable.ToString()); if (!ClientScript.IsClientScriptBlockRegistered("myScript")) { ClientScript.RegisterClientScriptBlock(typeof(_Default), "myScript", script, true); } 

在你的javascript函数中使用myVariable作为服务器端变量。

但我认为你应该从客户端或服务器端概念开始。

在我们的代码库中,我们实现了一项名为RemoteInvoke的技术,javascript可以在没有回发的情况下调用服务器上的方法。 实际上,它是在服务器端使用动态绑定进行名称调用。

该方法的名称及其javascript参数被捆绑并传递给服务器,服务器将其展开并找到要调用的最佳匹配方法。 规则是您只能使用RemoteInvokable属性调用方法,并且允许的数据类型是数字,字符串和布尔值。 处理调用委托的代码将匹配签名,尽可能进行近似匹配(即,如果您将浮点数作为arg传递,它将支持具有该名称和签名的方法,但如果没有,则会找到一个带有匹配的积分参数。

可以通过RemoteInvoke实现访问服务器端变量。