当前位置: 首页 > 知识库问答 >
问题:

在局部视图中呈现HTML5图表只显示空白数据

齐乐逸
2023-03-14

我试图显示MVC图表,如为ASP.NETMVC4创建HTML5图表助手扩展中所示。我有标准的项目工作,但我不能得到多个图形显示在一个单一的视图调用的部分视图一次。

我将跳过查看ChartExtensions.csHelperModel.cs类,因为它们已在上面的文章中介绍过。

我创建了一个带有几个视图的控制器:

public class WelcomeController : Controller
{
    public ActionResult Index()
    {
        ViewBag.Message = "Creating your own HtmlHelper library";
        var data = WelcomeHelper.GetData1();
        return View(data);
    }

    public ActionResult DisplayAllGraphs()
    {
        ViewBag.Message = "Show all charts";
        var dataSet = new DataGroup();
        dataSet.Datas.Add(WelcomeHelper.GetData1());
        dataSet.Datas.Add(WelcomeHelper.GetData2());
        return View(dataSet);
    }

    public ActionResult PartialDisplayGraphs(TwoDimensionalData data)
    {
        ViewBag.Message = "Chart by request";
        return View(data);
    }
}

我用快速助手类填充它

public class WelcomeHelper
{
    public static TwoDimensionalData GetData1()
    {
        var data = new TwoDimensionalData();
        data.Data.Add(new int[] { 2000, 3045 });
        data.Data.Add(new int[] { 2001, 7045 });
        data.Data.Add(new int[] { 2002, 9045 });
        data.Data.Add(new int[] { 2003, 13045 });
        data.Data.Add(new int[] { 2004, 15045 });
        data.Id = 1;
        return data;
    }

    public static TwoDimensionalData GetData2()
    {
        var data = new TwoDimensionalData();
        data.Data.Add(new int[] { 2005, 18045 });
        data.Data.Add(new int[] { 2006, 20845 });
        data.Data.Add(new int[] { 2007, 23045 });
        data.Data.Add(new int[] { 2008, 20345 });
        data.Data.Add(new int[] { 2009, 23405 });
        data.Id = 2;
        return data;
    }
}

我试图显示所有的图表与DisplayAllGraphs.cshtml

@model PostingGraphs.Models.DataGroup
@{
    ViewBag.Title = "DisplayAllGraphs";
}

<h2>@ViewBag.Message</h2>
<section>
    @Html.Partial("PartialDisplayGraphs", data)
</section>

为部分视图调用的PartialDisplayGraphs.cshtml

@model PostingGraphs.Models.TwoDimensionalData
@using PostingGraphs.Extensions
@using (Html.BeginForm())
{   
    <label>Model ID: @Model.Id</label>
    @Html.Chart("sampleChart" + Model.Id, Model.Data, "Year", "Hits in Thousands") 
}

@section Scripts
{
<script type="text/javascript">
    $(function () {
        barChart();
    });   
</script>
}

我得到的是一系列

我错过什么了吗?创建javascript的图表扩展代码中的标识符有问题吗?

编辑:为画布ID添加了唯一标识符,以包括数据点索引。表单问题中更改了表单。


共有1个答案

容阳焱
2023-03-14

问题是Dot Net Curry示例代码不能很好地管理同一页上的多个图表,并且需要进行大量的返工。这并不难,只是本身不是一个很好的解决方案。我确实在http://www.chartjs.org/找到了一个相当不错的免费图表集。感谢那些花时间为我调查并给我反馈的人。

 类似资料:
  • 我试图集成Agora SDK,我已经能够设置它的功能,但唯一的问题是本地视图是空白的,直到我做热重启,热重启后一切都很好,远程视图工作正常,我一直试图调试这个问题没有用,下面是我的代码。

  • 我试图在我的jsp视图页面中包含一个部分视图。我怎么能那样做?我想将我的“addemployeeContacts.jsp”包含到“addemployee.jsp”页面中。addemployee.jsp null 和AddemPloyeeContacts.jsp AddemployeContactController 投掷错误 jasperException:java.lang.IllegalSta

  • 我在这里遵循GLUT教程。我将第一个示例“YAT”复制并粘贴到xcode中,稍微修改了包含,发现出现了一个空白窗口。未修改的代码设置为显示线框茶壶。对我来说,这不会发生。 但是,如果我取消对创建金牛座的注释,则金牛座和茶壶的一部分会出现在窗口中。在//draw下,似乎还有一些随机的非注释行和注释行的组合,它们实际上会导致对象出现……或者只是一个空白屏幕。 P、 我知道每个人都说不要使用GLUT,但

  • 我试图使用文本视图来显示从列表视图中选择的联系人。列表视图包含用户从加载到列表视图中的Android电话簿中选择的联系人。文本视图将只显示列表视图中的最后一项,即使用户选择了另一个不是列表视图中最后一个联系人的联系人。 即使在我的日志打印中,我可以看到我选择了哪个联系人,但当我试图将其打印到另一个窗口中的文本视图时,它仍然默认为最后一个联系人。 添加调制解调器。JAVA 主要活动。JAVA

  • 在我的Spring web MVC应用程序中,我计划在我的jsp视图上显示一些JFree图表,我不知道如何做到这一点,因为我的第一个想法对我不起作用,生成一个图像,然后从文件夹中检索它。 现在我想,控制器能够直接回放图像吗?假设这是我的服务接口: 我可以做这样的事情吗?我如何从我的jsp调用这个映像?

  • 在yii中,我正在创建一个项目。 现在我想创建用于显示新密码插入窗口的小部件。要重置密码,用户需要正确输入安全问题的答案。在此之后,他将获得两个单选按钮。一个标签是“在此处更改密码”,另一个标签是“发送密码重置链接到邮件”。 所以当用户点击第一个单选按钮时,这个小部件将被渲染,它将有两个文本字段用于输入新密码和重复密码,以及提交按钮。那么如何实现这个小部件。 我创建了简单的小部件说你好: 所以,如