如何在不使用脚本的情况下从JSON获取数据?

如何在不使用脚本的情况下从JSON获取数据?,json,asp.net-mvc-4,kendo-ui,Json,Asp.net Mvc 4,Kendo Ui,我想从json文件中获取数据,而不使用脚本代码 我正在使用MVC4,想把代码放在.cshtml文件中,我该怎么做 (Iam使用剑道功能) 例如: @{ ViewBag.Title = "Home Page"; } <div class="chart-wrapper"> @(Html.Kendo().Chart() .Name("chart") .Title(title => title

我想从json文件中获取数据,而不使用脚本代码

我正在使用MVC4,想把代码放在.cshtml文件中,我该怎么做

(Iam使用剑道功能)

例如:

@{
    ViewBag.Title = "Home Page";
}

<div class="chart-wrapper">
    @(Html.Kendo().Chart()
        .Name("chart")
                .Title(title => title
                    .Text("Share of Internet Population Growth, 2007 - 2012")
                    .Position(ChartTitlePosition.Bottom))
        .Legend(legend => legend
            .Visible(false)
        )
        .DataSource(dataSource=>dataSource.Read(read=>read.Url("~/")))      

        .Events(e => e.SeriesClick("onSeriesHover"))
        .Series(series => {
            series.Pie(new dynamic[] {
                new {category="Asia",value=53.8,color="#9de219"},
                new {category="Europe",value=16.1,color="#90cc38"},
                new {category="LatinAmerica",value=11.3,color="#068c35"},
                new {category="Africa",value=9.6,color="#006634"},
                new {category="MiddleEast",value=5.2,color="#004d38"},
                new {category="NorthAmerica",value=3.6,color="#033939"}           
            })
            .Labels(labels => labels
                .Template("#= category #: #= value#%")
                .Background("transparent")
                .Visible(true)
                .Color("Red")
            )
            .StartAngle(150);
        })
        .Tooltip(tooltip => tooltip
            .Visible(true)
            .Format("{0}%")
        )

    ) 
    <script>
        function onSeriesClick(e) {
            alert(kendo.format("Series click :: {0} ({1}): {2}",
                e.series.name, e.category, e.value));
        }


    </script>
</div>
@{
ViewBag.Title=“主页”;
}
@(Html.Kendo().Chart())
.名称(“图表”)
.Title(Title=>Title
.Text(“2007-2012年互联网人口增长份额”)
.位置(图表标题位置.底部))
.Legend(Legend=>Legend
.可见(假)
)
.DataSource(DataSource=>DataSource.Read(Read=>Read.Url(“~/”))
.Events(e=>e.SeriesClick(“OnSeriesPover”))
.系列(系列=>{
series.Pie(新的动态[]{
新{category=“Asia”,value=53.8,color=“#9de219”},
新{category=“Europe”,value=16.1,color=“#90cc38”},
新{category=“拉丁美洲”,value=11.3,color=“#068c35”},
新的{category=“Africa”,value=9.6,color=“#006634”},
新{category=“middleast”,value=5.2,color=“#004d38”},
新{category=“NorthAmerica”,value=3.6,color=“#033939”}
})
.标签(标签=>标签
.Template(“#=类别:#=值#%”)
.背景(“透明”)
.可见(真实)
.颜色(“红色”)
)
.StartAngle(150);
})
.工具提示(工具提示=>工具提示
.可见(真实)
.Format(“{0}%”)
)
) 
体验上的功能单击(e){
警报(kendo.format(“系列单击:{0}({1}):{2}”),
e、 系列名称、e类别、e值);
}
我有用 .DataSource(DataSource=>DataSource.Read(Read=>Read.Url(“~/”)) 但是不工作

试着这样做

范例

查看

  @(Html.Kendo().Chart<Model.DashboardPieChartModel>()
            .Name("PieChartPopup")
                    .Events(events => events.DataBound("onDataBound"))
          .Legend(legend => legend
            .Visible(false)
        )
            .DataSource(ds =>
            {
                ds.Read(read => read.Action("Read_PieChart", "Dashboard"));
            }
            )

            .Series(series =>
            {
                series.Pie(
                    model => model.Percentage,
                    model => model.Service, null, null
                ).Labels(labels => labels
            .Visible(true)
            .Template("${ category } - ${ value }%")

            ).Overlay(ChartPieSeriesOverlay.None);
            })

            .Tooltip(tooltip => tooltip
            .Visible(true)
            .Template("${ category } - ${ value }%")
            )

        )

阅读此链接:

您的数据源是什么。您是否与视图中的数据有静态绑定,或者您是从控制器操作获取数据。数据源是URL,我希望动态添加它。您可以在传递数据的位置显示控制器操作代码。
public JsonResult Read_PieChart()
        {

           //Whatever you do here


            return Json(return your data);
        }