![](/img/trans.png)
[英]Access Static Property Values From Code Behind Jquery/Javascript
[英]Access global static variable from code behind through Javascript
當從一個從javascript調用的函數后面的代碼中獲取它時,我在訪問類中的靜態變量時遇到了一些問題。
我的aspx頁面:
<script type="text/javascript">
function AlertMsg(msg) {
var msg213 = "<%= GetValue(" msg ") %>";
alert(msg + '::' + msg213);
}
</script>
代碼背后:
public string GetValue(string sString)
{
return MyNamespace.MyClass.MyStaticVariable;
}
我在另一頁的page_load中設置了這個變量。 我通過從C#WebBrowser應用程序調用它來訪問javascript函數。 它總是空的。
有任何想法嗎?
ASP.NET不像桌面應用程序,移動到另一個頁面時,寫在另一個頁面上的任何變量都將丟失。 您需要將值保存到某個持久性的地方。
我想你只需要在'msg'的引用周圍添加'+'
var msg213 = "<%= GetValue(" + msg + ") %>";
嘗試這個
'<%= GetValue("Some Value") %>';
這意味着當頁面呈現時,GetValue方法調用和返回字符串將在文檔體中寫入,如Respose.Write
只有當頁面呈現並且不再發生進一步調用時才會發生這種情況。
我認為部分混亂來自代碼中的格式。 如果只查看服務器標記: <%= GetValue(" msg ") %>
,您將看到正在調用GetValue
方法,並且正在傳入文字字符串msg
。服務器標記本身周圍有引號,但那些不影響服務器標簽內的內容。 您沒有傳遞JavaScript函數的msg
參數的值。
無法以如此簡單的方式從JavaScript調用服務器方法,它需要使用像AJAX這樣的東西來完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.