2017-05-05 12 views
0

基本的に私はVisual Studio Webforms(aspx)で作業しているwebhelpersライブラリのグラフを使いたいと思っていました。 アイデアはボタンをクリックしてからチャートが表示されていました(他のボタンやテキストボックスは気にしないで、私が前に行っていた別のテストでした。しかし、ボタンをクリックすると、ページ全体がグラフで「食べられる」ようになります。ボタンは消えて、唯一残っているのはチャートです。これがなぜ起こっているのか?ASP.NET WebHelpers Library、Chart

第一ページのhtmlコード:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <div>Pagina 1</div> 
     <asp:Label ID="Lbl_nome" runat="server" Text="Nome"></asp:Label> 
     <asp:TextBox ID="TxtBx_nome" runat="server"></asp:TextBox> 

     <asp:Label ID="Lbl_apelido" runat="server" Text="Apelido"></asp:Label> 
     <asp:TextBox ID="TxtBx_apelido" runat="server"></asp:TextBox> 

     <div> 
      <asp:Button ID="Btn_enviar" runat="server" Text="Enviar" OnClick="Btn_enviar_Click" /> 
     </div> 

     <div> 
      <asp:Button ID="Button1" runat="server" Text="Show chart" OnClick="Button1_Click" /> 
     </div> 

     </div> 
    </form> 
</body> 
</html> 

1ページ目aspx.csコード:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 



namespace WebApplication1 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 

      } 
      else { 

      } 



     } 

     protected void Btn_enviar_Click(object sender, EventArgs e) 
     { 
      Response.Redirect("WebForm2.aspx?apelido=" + TxtBx_apelido.Text + "&nome=" + TxtBx_nome.Text + ""); 
     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      //Response.Redirect("WebFormChart.aspx");   //Faz redirect para a pagina  diferença? 
      //Server.Transfer("WebFormChart.aspx");   //Faz redirect para a pagina  diferença? 
       Server.Execute("WebFormChart.aspx");   //Faz include do conteodo da pagina 
      //Response.WriteFile("WebFormChart.aspx");  //Escreve a pagina 
     } 


    } 
} 

2ページのHTMLコード:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFormChart.aspx.cs" Inherits="WebApplication1.WebFormChart" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     This text wont show idk why 
    </form> 
</body> 
</html> 

2ページ目aspx.csコード

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.Helpers; 

namespace WebApplication1 
{ 
    public partial class WebFormChart : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      var myChart = new Chart(width: 600, height: 400, theme: ChartTheme.Vanilla3D) 
        .AddTitle("Title") 
        .AddSeries(chartType: "pie", 
         xValue: new[] { "name1", "name2", "name3", "name4", "name5" }, 
         yValues: new[] { "4", "6", "4", "5", "7" }); 
      myChart.Write(); 

     } 
    } 
} 

この結果は:

Page 1 with the button for showing the chart hightlighted

Page 2 with the chart as you can see the text i had put there is gone

英語がひどい場合は申し訳ありません。

答えて

0

ので(誰も)助けていないすべての人のおかげで、私は誰かが私は2番目のページのHTMLコードにイメージを作った最初の、この記事を見つけ、同じ問題を抱えているだけの場合の解決策を見つけた

<form id="form1" runat="server"> 
    This text wont show idk why 
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 
    <div><asp:Image ID="Image1" runat="server" Height="600px" Width="600px" /></div> 

</form> 

次に、2ページ目のaspx.csコードでグラフをWebImageにしてフォルダに保存し、2ページ目に作成した画像を変更しました。htmlコード.filepathをチャートのあるフォルダに変更しました。シンプルにmychart.saveを実行してグラフを保存する理由は分かりませんが、アクセスが拒否されたaccecのエラーを送信し続けます(私はwebimに同じフォルダを使用します)私はそのエラーが表示されるまで使用理由を知らないので、年齢).anywayここでは、2ページ目のaspx.csのコードです:これで

namespace WebApplication1 
{ 
    public partial class WebFormChart : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 




     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      var myChart = new Chart(width: 600, height: 400, theme: ChartTheme.Vanilla3D) 
        .AddTitle("Title") 
        .AddSeries(chartType: "pie", 
         xValue: new[] { "name1", "name2", "name3", "name4", "name5" }, 
         yValues: new[] { "4", "6", "4", "5", "7" }); 
      myChart.ToWebImage().Save(@"Chart\chart", "jpeg", true); 
      Image1.ImageUrl = @"Chart\chart.jpeg"; 

     } 

    } 
} 

でも、私はそれがチャートのJPEGファイルを保存ボタン1をクリックしたとき"Chart \ chart.jpeg"のパスでは、そのパスを使用してイメージを表示します。

もう一度私を助けてくださった皆様に感謝します。