Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript在前端访问后端变量_Javascript_Asp.net_Vb.net_Dictionary - Fatal编程技术网

使用javascript在前端访问后端变量

使用javascript在前端访问后端变量,javascript,asp.net,vb.net,dictionary,Javascript,Asp.net,Vb.net,Dictionary,我在代码隐藏中公开声明了以下内容: Public dics As New Dictionary(Of String, String()) From { _ {"picture", New String() {".jpeg", ".jpg", ".png", ".bmp", ".gif", ".tif"}}, _ {"document", New String() {".doc", ".docx", ".txt", ".htm", ".html", ".xml", ".xaml", ".css"

我在代码隐藏中公开声明了以下内容:

 Public dics As New Dictionary(Of String, String()) From { _
{"picture", New String() {".jpeg", ".jpg", ".png", ".bmp", ".gif", ".tif"}}, _
{"document", New String() {".doc", ".docx", ".txt", ".htm", ".html", ".xml", ".xaml", ".css"}}, _
{"excel", New String() {".xls", ".xlsx", ".xlt", ".xla"}}, _
{"pdf", New String() {".pdf"}}, _
{"zip", New String() {".7z", ".APK", ".BAT", ".rar", ".dll", ".jar", ".zip"}}, _
{"ppt", New String() {".ppt", ".pos", ".pps"}}}
编辑:

如果我真的喜欢这个

function myFunction() {
       var dic = "<%= dics %>";
       var array_keys = new Array();
       var array_values = new Array();
       for (var key in dic) {
           alert(key);
        }
     }
函数myFunction(){
var dic=“”;
var array_keys=新数组();
var array_values=新数组();
用于(dic中的var键){
警报(键);
}
}
将警报显示为


我如何在
javascript
中访问这个
dictional
来执行一些操作

,现在看来您需要将字典序列化为javascript对象,然后将其粘贴到您的javascript中。可以使用任何库进行序列化。例如。像这样:

function myFunction() {
   var dic = <%= Newtonsoft.Json.JsonConvert.SerializeObject(dics) %>;
   var array_keys = new Array();
   var array_values = new Array();
   for (var key in dic) {
       alert(key);
    }
 }
希望有帮助。

您可以在代码中创建一个属性(比如DictionaryConv),并在页面加载中设置该属性值

Dim jsz As New System.Web.Script.Serialization.JavaScriptSerializer
        DictionaryConv = jsz.Serialize(dics)
在javascript中,可以使用此函数

function myFunction() {
            var dic = <%= DictionaryConv%>;
            var array_keys = new Array();
            var array_values = new Array();
            for (var key in dic) {
                alert(key);
            }
        }
函数myFunction(){
var-dic=;
var array_keys=新数组();
var array_values=新数组();
用于(dic中的var键){
警报(键);
}
}

检查是否让您想到尝试如果字典中存储的值是静态的,那么您可以通过声明包含这些值的js变量来尝试。@Priya:这里的值是静态的,不会动态更改。这会导致错误为:
error 2'Serialize'不是'System.Collections.Generic.dictionary(属于字符串,String())的成员“
对不起,我刚刚提出了一个解决方案。真正的方法是
Newtonsoft.Json.JsonConvert.SerializeObject(dics)
。我修正了我的答案以匹配真实的方法这是--System.Web.Script.Serialization.JavaScriptSerializer是.net中的内置类,所以您不需要其他第三方dll(如Newton soft等)
Dim jsz As New System.Web.Script.Serialization.JavaScriptSerializer
        DictionaryConv = jsz.Serialize(dics)
function myFunction() {
            var dic = <%= DictionaryConv%>;
            var array_keys = new Array();
            var array_values = new Array();
            for (var key in dic) {
                alert(key);
            }
        }