私は以下のコードを持っています:
コードビハインド:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.DataVisualization.Charting;
namespace TestApp2
{
public partial class hookload : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Rig_ID"].Equals(1))
MultiView1.ActiveViewIndex = 0;
else if (Request.QueryString["Rig_ID"].Equals(2))
MultiView1.ActiveViewIndex = 1;
else if (Request.QueryString["Rig_ID"].Equals(3))
MultiView1.ActiveViewIndex = 2;
else if (Request.QueryString["Rig_ID"].Equals(4))
MultiView1.ActiveViewIndex = 3;
else if (Request.QueryString["Rig_ID"].Equals(5))
MultiView1.ActiveViewIndex = 4;
}
}
}
そしてこれは私のaspxファイルです:
<%@ Page Title="Shannons Proof of Concept Rig Dashboard" Language="C#" MasterPageFile="~/Site.master"
AutoEventWireup="true" CodeBehind="hookload.aspx.cs" Inherits="TestApp2._Default" %>
<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:MultiView ID="MultiView1" runat="server">
<asp:View ID="View1" runat="server">
<asp:SqlDataSource ID="SqlDataSource27" runat="server" ConnectionString="<%$ ConnectionStrings:RigDashConnectionString1 %>"
SelectCommand="SELECT TOP (30) tbl_rig.name, tbl_stats.Timestamp AS Expr1, tbl_stats.HookLoad, tbl_stats.Rig_ID FROM tbl_rig INNER JOIN tbl_stats ON tbl_rig.rig_id = tbl_stats.Rig_ID WHERE (tbl_stats.Rig_ID = 2) ORDER BY Expr1 DESC">
</asp:SqlDataSource>
<h2>
Rig Hook Load Stats - Previous 10 minutes</h2>
<p>
<asp:Chart ID="Chart25" runat="server" DataSourceID="SqlDataSource27" Width="900px"
Height="500px" Style="margin-top: 5px" Palette="EarthTones">
<Series>
<asp:Series Name="Rig 24 Hook Load" XValueMember="Expr1" XValueType="Time" YValueMembers="HookLoad"
Legend="Legend" YValuesPerPoint="1" ChartType="Line">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<Area3DStyle Enable3D="True" LightStyle="Realistic" WallWidth="0" />
</asp:ChartArea>
</ChartAreas>
<Legends>
<asp:Legend Name="Legend" Title="Legend">
</asp:Legend>
</Legends>
</asp:Chart>
</p>
</asp:View>
<asp:View runat="server">
<asp:SqlDataSource ID="SqlDataSource28" runat="server" ConnectionString="<%$ ConnectionStrings:RigDashConnectionString1 %>"
SelectCommand="SELECT TOP (30) tbl_rig.name, tbl_stats.Timestamp AS Expr1, tbl_stats.HookLoad, tbl_stats.Rig_ID FROM tbl_rig INNER JOIN tbl_stats ON tbl_rig.rig_id = tbl_stats.Rig_ID WHERE (tbl_stats.Rig_ID = 3) ORDER BY Expr1 DESC">
</asp:SqlDataSource>
<h2>
Rig Hook Load Stats - Previous 10 minutes</h2>
<p>
<asp:Chart ID="Chart26" runat="server" DataSourceID="SqlDataSource28" Width="900px"
Height="500px" Style="margin-top: 5px" Palette="EarthTones">
<Series>
<asp:Series Name="Rig 21 Hook Load" XValueMember="Expr1" XValueType="Time" YValueMembers="HookLoad"
Legend="Legend" YValuesPerPoint="1" ChartType="Line">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<Area3DStyle Enable3D="True" LightStyle="Realistic" WallWidth="0" />
</asp:ChartArea>
</ChartAreas>
<Legends>
<asp:Legend Name="Legend" Title="Legend">
</asp:Legend>
</Legends>
</asp:Chart>
</p>
</asp:View>
<asp:View runat="server">
<asp:SqlDataSource ID="SqlDataSource29" runat="server" ConnectionString="<%$ ConnectionStrings:RigDashConnectionString1 %>"
SelectCommand="SELECT TOP (30) tbl_rig.name, tbl_stats.Timestamp AS Expr1, tbl_stats.HookLoad, tbl_stats.Rig_ID FROM tbl_rig INNER JOIN tbl_stats ON tbl_rig.rig_id = tbl_stats.Rig_ID WHERE (tbl_stats.Rig_ID = 5) ORDER BY Expr1 DESC">
</asp:SqlDataSource>
<h2>
Rig Hook Load Stats - Previous 10 minutes</h2>
<p>
<asp:Chart ID="Chart27" runat="server" DataSourceID="SqlDataSource29" Width="900px"
Height="500px" Style="margin-top: 5px" Palette="EarthTones">
<Series>
<asp:Series Name="Rig 22 Hook Load" XValueMember="Expr1" XValueType="Time" YValueMembers="HookLoad"
Legend="Legend" YValuesPerPoint="1" ChartType="Line">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
<Area3DStyle Enable3D="True" LightStyle="Realistic" WallWidth="0" />
</asp:ChartArea>
</ChartAreas>
<Legends>
<asp:Legend Name="Legend" Title="Legend">
</asp:Legend>
</Legends>
</asp:Chart>
</p>
</asp:View>
</asp:MultiView>
<p>
<a href="..\default.aspx">< Go Back</a>
</p>
</asp:Content>
これを実行しようとすると、「名前「MultiView1」は現在のコンテキストに存在しません」というメッセージが表示されるという問題があります。なぜこのエラーが発生するのかはよくわかりませんが、私は初心者でもあるので、驚くことではありません。:)基本的に、最初のページにasp:gridviewテーブルがあり、パラメーターを渡してこのページで処理しようとしているので、誰かが〜\ charts \ hookload.aspx?Rig_ID = 2のリンクをクリックすると、処理されます。 MultiView Index 1であるため、SQLクエリで記述された関連データのグラフが表示されます。
これは私がこれを行うためにこれまでに見つけた唯一の方法でしたので、他の誰かがより良い考えを持っているなら、私がすべての耳であると信じてください。主に検索するキーワードがわからないため、これに対する答えを見つけるのに苦労しました。どんな助けでもいただければ幸いです。