首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScriptSerializer

使用JavaScriptSerializer
EN

Stack Overflow用户
提问于 2015-12-14 18:24:18
回答 1查看 199关注 0票数 0

在我的asp.net webform应用程序中,我想从我的代码后台向.aspx页面发送一个变量,以便在js代码中使用。

代码隐藏:

代码语言:javascript
复制
   public string GetSomestring()
    {         
        JavaScriptSerializer j = new JavaScriptSerializer();
        return j.Serialize("#000");         
    }

在我的js页面中,我有这样的代码

代码语言:javascript
复制
 <script>
            var randomScalingFactor = function () { return Math.round(Math.random() * 100) };

            var color= '<%= GetSomestring()%>';


            var lineChartData = {
                labels: ["January", "February", "March", "April", "May", "June", "July"],
                datasets: [
                    {
                        label: "My First dataset",
                        fillColor: "rgba(220,220,220,0.2)",
                        strokeColor: "rgba(220,220,220,1)",
                        pointColor: "rgba(220,220,220,1)",
                        pointStrokeColor: color,
                        pointHighlightFill: "#fff",
                        pointHighlightStroke: "rgba(220,220,220,1)",
                        data: [12,23,12,43,10,3]
                    }
                ]
            }

            window.onload = function () {
                var ctx = document.getElementById("canvas").getContext("2d");
                window.myLine = new Chart(ctx).Line(lineChartData, {
                    responsive: true
                });
            }


</script>

返回到我的.aspx页面的字符串,因为当我编写下面的代码时,它可以正确执行

代码语言:javascript
复制
 var color = '<%= GetSomestring()%>';
            alert(color);

当我写下这段代码时,我的js就能正确执行。

代码语言:javascript
复制
var color = "#000";

我不知道我的第一个代码没有正确执行和pointStrokeColor没有得到“颜色”的问题是什么

EN

回答 1

Stack Overflow用户

发布于 2015-12-14 21:14:40

要在javascript中从服务器获取值,您应该使用Ajax,在代码后台中使用webmethod。下面是一些示例代码,希望能对您有所帮助。

背后的代码:

代码语言:javascript
复制
       [WebMethod]
       public string GetSomestring()
          {         
            JavaScriptSerializer j = new JavaScriptSerializer();
            return j.Serialize("#000");         
           }

视图:“客户端”

代码语言:javascript
复制
       var result;
     $.ajax({
                url: ../PageName/GetSomestring",
                type: "get",
                dataType: "json",
                contentType: "application/json;charset=utf-8",

                success: function (data, status) {
                    result = data.d;
                },
                error: function (requeset, status, error) {
                    alert(error);
                }
            });
   var color= result ;

或者试试这个:将颜色转换为color.value

代码语言:javascript
复制
              <script>
        var randomScalingFactor = function () { return Math.round(Math.random() * 100) };

        var color= '<%= GetSomestring()%>';


        var lineChartData = {
            labels: ["January", "February", "March", "April", "May", "June", "July"],
            datasets: [
                {
                    label: "My First dataset",
                    fillColor: "rgba(220,220,220,0.2)",
                    strokeColor: "rgba(220,220,220,1)",
                    pointColor: "rgba(220,220,220,1)",
                    pointStrokeColor: color.value,
                    pointHighlightFill: "#fff",
                    pointHighlightStroke: "rgba(220,220,220,1)",
                    data: [12,23,12,43,10,3]
                }
            ]
        }

        window.onload = function () {
            var ctx = document.getElementById("canvas").getContext("2d");
            window.myLine = new Chart(ctx).Line(lineChartData, {
                responsive: true
            });
        }

将颜色转换为color.value

代码语言:javascript
复制
             pointStrokeColor: color.value,

希望这能帮助you.Thanks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34264609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档