簡體   English   中英

訪問 javascript 中的 C# 變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM