JavaScript If语句如何正确使用(MVC,Kendo Chart)

时间:2014-12-18 09:43:18

标签: javascript jquery asp.net-mvc kendo-ui kendo-asp.net-mvc

我有4个属性,我想用它们绘制一个饼图。

我的场景是这样的:当Model.Count等于0时,我不想绘制图表。所以我添加了一个这样的if语句:

 <script>
        function createChart() {


            if (@Model.Count!=0) 
            {

但是我得到一个错误(没有适用的变量或成员a):

 CS0103: 'a' isn't in the content(i translate this part)

 Satır 1150:       

         data: [{
Satır 1151:                    category: "fa",
Satır 1152:                    value: @a,
Satır 1153:
Satır 1154:                }, {

那我怎么解决这个问题呢?有没有简单的方法来解决这个问题?

我有这样的模型属性。

  @{
      if (Model.Count!=0)
         { 
int a, b, c, d= 0;

a= Convert.ToInt32(Model[0].Prop1);
b= Convert.ToInt32(Model[0].Prop2);
c= Convert.ToInt32(Model[0].Prop3);
d= Convert.ToInt32(Model[0].Prop4);

         }
     }

这是我的剑道图表脚本。

<script>
    function createChart() {


        if (@Model.Count!=0) 
        {

        $("#chart55").kendoChart({
            theme: 'metro',
            title: {
                position: "bottom",
                text: "Maliyeti"
            },
            legend: {
                visible: false
            },
            chartArea: {
                background: ""
            },
            seriesDefaults: {
                labels: {
                    visible: true,
                    background: "transparent",
                    template: "#= category #: \n #= value#TL"
                }
            },
            series: [{
                type: "pie",
                startAngle: 150,
                data: [{
                    category: "fa",
                    value: @a,

                }, {
                    category: "za",
                    value: @b,

                }, {
                    category: "ka",
                    value: @c,

                }, {
                    category: "da",
                    value: @d,

                }

                ]
            }],

            tooltip: {
                visible: true,
                format: "{0}"
            }
        });
        }
    }

    $(document).ready(createChart);
    $(document).bind("kendo:skinChange", createChart);
</script>

2 个答案:

答案 0 :(得分:1)

而不是

if (@Model.Count != 0) 

使用

if ('@Model.Count' != 0)  //use single quotes as shown here

并将int a, b, c, d= 0;设为全局,在if statement之外初始化它们。

答案 1 :(得分:1)

在使用javascript

中的模型值时,您必须使用这样的方法

你必须使用像@ Model.Count&#39;这样的单一动作。我在Jquery下面用过的地方。

<script>
function createChart() {


    if ('@Model.Count' !=0) 
    {
       // Your code
    }
 }
</script>