[英]Accessing C# variable in javascript
我打算用 C#.NET 為 DMS(教育領域)設計一個網站,我是新手。
根據 accessright ,在我的一個 ASPX 頁面中,我想禁用accessright
中的菜單。
存儲在數據庫表login
中的訪問權限作為accessright
服務器中的一個屬性,我想檢索對一個accessright
變量的訪問權限,並希望訪問 Z686155AF75A60A0F6E9D80C1F7EDD3EZ 中的該變量。
如果有另一種可能的方法,請告訴。
好吧,我們在 ASP 時代曾經使用過一個快捷方式,這在 ASP.NET 中仍然有效
在頁面代碼隱藏聲明一個公共屬性說public int MyInteger
在 aspx 中放這個
<script>
function GetMyValue()
{
var someVar = <%=this.MyInteger%>;
//Do something
}
</script>
我在將服務器 silde 變量傳遞給 Javascript 變量的問題中發現了這一點。 最好的方法是使用eval()
javascript 方法:
function GetMyValue(){
eval("var someVar = " + parseInt<%=this.MyInteger%>"));
//Do something
}
使用它並享受它。 ;)
這是我快速搜索的示例代碼。 http://www.eggheadcafe.com/community/aspnet/7/63763/using-c-variable-in-java.aspx它應該為您指明正確的方向。 strvariable 是您的 C# 變量。
<INPUT id="hd" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 144px" type="hidden" value="<%=strvariable %>">
<script language="javascript">
function Button_Click()
{
alert(document.getElementById('hd').value);
}
</script>
您不能在客戶端代碼中訪問服務器端變量。 唯一的方法是使用 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 arguments 被捆綁並傳遞給服務器,服務器展開它們並找到最匹配的方法來調用。 規則是您只能調用具有 RemoteInvokable 屬性的方法,並且允許的數據類型是數字、字符串和布爾值。 處理調用委托的代碼將在可能的情況下進行近似匹配的簽名匹配(即,如果您將浮點數作為 arg 傳遞,它將支持具有該名稱和簽名的方法,但如果沒有,它將找到一個具有匹配的積分參數。
訪問服務器端變量可以通過 RemoteInvoke 實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.