使用Javascript访问同一母版页前端后面的母版页代码中的数据列表

时间:2017-08-15 11:25:16

标签: javascript c# jquery asp.net

我正在将一些数据加载到母版页(TestMaster.Master)后面的代码中名为“TransactionNames”的列表中。 现在我需要使用java脚本将该数据列表传递到母版页的前端(TestMaster.Master)。 我上面试过了,

enter image description here

3 个答案:

答案 0 :(得分:1)

如果后面的代码中有List,则在方法外声明:

public List<string> TransactionNames = new List<string>();

然后你需要在javascript中创建一个数组:

<script type="text/javascript">
    var TransactionNames = ["<%= string.Join("\",\"", TransactionNames) %>"];

    //or

    var TransactionNames = <%= "['" + string.Join("','", TransactionNames) + "']" %>;

    for (var i = 0; i < TransactionNames.length; i++) {
        alert(TransactionNames[i]);
    }
</script>

或者当您使用Newtonsoft.Json序列化对象时,它变得更加容易:

var TransactionNames = <%= Newtonsoft.Json.JsonConvert.SerializeObject(TransactionNames) %>;

答案 1 :(得分:0)

您可以使用声明全局公共变量:

代码背后:

public string[] TransactionNames=new string[]
    {
        "schnauzer",
        "shih tzu",
        "shar pei",
        "russian spaniel"
    };

源文件:

<script type="text/javascript">
    var TransactionNames= <%= TransactionNames %>;
    for(var i=0; i < TransactionNames.length;i++){
       var tx=TransactionNames[i];
    }
</script>

答案 2 :(得分:0)

您没有准确提到您想要对母版页前端的交易名称做什么,例如将它们添加到菜单中,将它们连接到标签等,或者从名称中创建

  • 结构;

    假设您要创建

  • 结构;这是代码

    for(i =0;i< TransactionNames.length;i++)
                {
                    $("#ul").append("<li>" + TransactionNames[i] + "</li>");
                }