我有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>
答案 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>