首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

aspx页面有关问题和MSChart控件绘制雷达图怎么实现数据绑定有关问题探究

2012-07-31 
aspx页面问题和MSChart控件绘制雷达图如何实现数据绑定问题探究。最近刚开始学习ASP.NET,但是还不知道这个A

aspx页面问题和MSChart控件绘制雷达图如何实现数据绑定问题探究。
最近刚开始学习ASP.NET,但是还不知道这个ASPX页面引入MSCHART控件绘制的雷达图,但是这个chart类, 怎样才能引入到它的后台控制代码cs文件中。我写的ASPX页面代码Radar.aspx如下:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>Radar</title>
  <link rel="stylesheet" type="text/css" href="../../ext-3.0/resources/css/ext-all.css" />
  <script type="text/javascript" src="../../ext-3.0/adapter/ext/ext-base.js"> </script>
  <script type="text/javascript" src="../../ext-3.0/ext-all.js"> </script>
  <script type="text/javascript" src="../../ext-3.0/ext-lang-zh_CN.js"> </script>
  <script type="text/javascript" src="../../JavaScripts/DataDisplay/Radar.js"></script>
  <script type="text/javascript" src="../../My97DatePicker/WdatePicker.js"></script>
  <script type="text/javascript">
  </head>
<form id="form1" runat="server">
<asp:Chart ID="Chart1" runat="server" Width="414px">
  <Series>
  <asp:Series ChartType="Radar" CustomProperties="CircularLabelsStyle=Horizontal" 
  Name="Series1">
  </asp:Series>
  <asp:Series ChartArea="ChartArea1" ChartType="Radar" Name="Series2">
  </asp:Series>
  </Series>
  <ChartAreas>
  <asp:ChartArea Name="ChartArea1">
  <AxisX>
  <CustomLabels>
  <asp:CustomLabel Text="检查量(X1000)" />
  <asp:CustomLabel Text="检查时间" />
  <asp:CustomLabel Text="检查费用(X10万)" />
  <asp:CustomLabel Text="报告阳性率" />
  <asp:CustomLabel Text="设备开机率" />
  <asp:CustomLabel Text="随访率" />
  </CustomLabels>
  </AxisX>
  </asp:ChartArea>
  </ChartAreas>
</asp:Chart>
</form>
</html>
它的后台控制代码DataDisplay.cs如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.Data;
using System.Data.SqlClient;


namespace MvcTest.Controllers.DataDisplay
{
  public class DataDisplayController : Controller
  {
  //
  // GET: /DataDisplay/

  public ActionResult Radar()
  {
  return View();
  }
  public struct record
  {
  public string Month;
  public double CheckCount;
  public double Masculine;
  public double OnDevice;
  public int CheckMinutes;
  public double CheckPrice;
  public double Reviews;

  };
  public record getList(string iDate)
  {
  SqlConnection conn = null;


  SqlDataReader reader1 = null;
  record p = new record();
  try
  {

  String connString = @"Data Source=Localhost;Initial Catalog=RIS;Integrated Security=True";
  conn = new SqlConnection(connString);
  conn.Open();
  SqlCommand cmd1 = conn.CreateCommand();

  cmd1.CommandText = "SELECT * FROM [RIS].[dbo].[RadarStactics] where Month=@date";
  SqlParameter par1 = new SqlParameter("@date ", SqlDbType.VarChar, 6);
  par1.Value = iDate;
  cmd1.Parameters.Add(par1);

  cmd1.Prepare();
  reader1 = cmd1.ExecuteReader();
  while (reader1.Read())
  {
  p.CheckMinutes = (int)reader1["CheckMinutes"];
  p.CheckCount = (double)reader1["CheckCount"];
  p.CheckPrice = (double)reader1["CheckPrice"];
  p.Masculine = (double)reader1["Masculine"];
  p.OnDevice = (double)reader1["OnDevice"];

  p.Reviews = (double)reader1["Reviews"];

  }

  }
  catch (Exception ex)
  {
  Console.WriteLine(ex);
  }
  finally
  {
  if (reader1 != null)
  {
  reader1.Close();
  }
  if (conn != null)
  conn.Close();
  }
  return p;
  }

  private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
  {
  ////DateTime tes = dateTimePicker1.Value;
  //string iDate = tes.ToString("yyyyMM");

  //record list = getList(iDate);
  //object[] YRowarr = { list.CheckCount, list.CheckMinutes, list.CheckPrice, list.Masculine, list.OnDevice, list.Reviews };
  //string[] XRowarr = { "检查量(X1000)", "检查用时", "检查费用(X10万)", "报阳性率", "设备开机率", "随访率" };
  //Chart1.Series["Series1"].Points.DataBindXY(XRowarr, YRowarr);
  //Chart1.Series["Series1"].IsValueShownAsLabel = true;
  }

  private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
  {
  //DateTime tes = dateTimePicker2.Value;
  //string iDate = tes.ToString("yyyyMM");
  //record list = getList(iDate);
  //object[] YRowarr = { list.CheckCount, list.CheckMinutes, list.CheckPrice, list.Masculine, list.OnDevice, list.Reviews };
  //string[] XRowarr = { "检查量(X1000)", "检查时间", "检查费用(X10万)", "报阳性率", "设备开机率", "随访率" };
  //Chart1.Series["Series2"].Points.DataBindXY(XRowarr, YRowarr);
  //Chart1.Series["Series2"].IsValueShownAsLabel = true;
  }


  }
}
但是会提示当前上下文不存在名称:Chart1.还有这个<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
有关这行代码Inherits="System.Web.Mvc.ViewPage作用,ViewPage类有什么用?我应该多看那些方面的书才能快速入门ASP.NET.请大家多多指教,不胜感激!

------解决方案--------------------


你有没有在一个命名空间中定义一下新的接口
interface FileResult{
}
public class File{
public static void Main()
{
FileResult fileResult = new FileResult (); }
}
你试一下吧
[解决办法]
把mschart的System.Web.DataVisualization.dll放到你网站的bin目录
在web.config中controls节点增加
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

就没必要再页面注册了,后台直接引用命名空间,编写程序。
[解决办法]
把return new FileResult("Yo.png", "image/png", imageStream.ToArray());
改为return FileResult("Yo.png", "image/png", imageStream.ToArray());
试一下。

热点排行