Visual Studio 2013預設連結的Connection為LocalDb
LocalDb設定的Web.config如下:
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-20150807-1029-CodeFirst-20150807102956.mdf;Initial Catalog=aspnet-20150807-1029-CodeFirst-20150807102956;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
資料庫連結變更為連結SQL Server設定的Web.config如下:
<configuration>
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=JETER\JETERMSSQLSERVER;Database=BlogDB;Integrated Security=True;" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlconnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=JETER\JETERMSSQLSERVER; Integrated Security=True;MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
1.建立Console Application
2.在Program.cs 加入System.Data.Entity的References
(1)
Package Manager Console開啟路徑位置:
4.建立模型(Model)
兩個導覽屬性 (Blog.Posts 和 Post.Blog) 虛擬化。這會啟用 Entity Framework 的「消極式載入」功能。「消極式載入」表示當您嘗試存取屬性的內容時,這些內容會自動從資料庫載入。
5.建立內容(DbContext )
資料參考 :https://msdn.microsoft.com/zh-tw/data/jj193542
2.在Program.cs 加入System.Data.Entity的References
(1)
(2)勾選System.Data.Entity及System.Data.Entity.Design點擊OK
3.加入Entity Framework
方法1:
(1)選擇Solution Explorer 點擊右鍵Manage NuGet Packages
(2)選擇Online→nuget.org
(3)選擇Entity Framework→Install
(4)選擇 I Accept
(5)References將新增EntityFramework及EnityFramework.SqlServer
方法二:
開啟Package Manager Console(程式庫封裝管理員)安裝Entity Framework。Package Manager Console開啟路徑位置:
安裝Entity Framework
PM> Install-Package EntityFramework
在 Program.cs 中的 Program 類別定義下,加入下列兩個類別。
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public virtual List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public virtual Blog Blog { get; set; }
}
兩個導覽屬性 (Blog.Posts 和 Post.Blog) 虛擬化。這會啟用 Entity Framework 的「消極式載入」功能。「消極式載入」表示當您嘗試存取屬性的內容時,這些內容會自動從資料庫載入。
5.建立內容(DbContext )
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
}
6.讀取及寫入資料
class Program
{
static void Main(string[] args)
{
using (var db = new BloggingContext())
{
// Create and save a new Blog
Console.Write("Enter a name for a new Blog: ");
var name = Console.ReadLine();
var blog = new Blog { Name = name };
db.Blogs.Add(blog);
db.SaveChanges();
// Display all Blogs from the database
var query = from b in db.Blogs
orderby b.Name
select b;
Console.WriteLine("All blogs in the database:");
foreach (var item in query)
{
Console.WriteLine(item.Name);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
7.測試應用程式
資料參考 :https://msdn.microsoft.com/zh-tw/data/jj193542
參考資料:http://www.flycan.com/article/css/javascript-jquery-slider-1334.html
依照參考資料的jQuery練習了兩種不同功能顯示方式。
方法一:依頁數隱藏左右滑動箭頭。
<head>
<script language="javascript">
(function($) {
$(function(){
var gNum=0;//組數的初始值
var dX=0;//水平座標位置
var OuterBoxWidth=$(".slider").width();//外層寬度
var TotalPage=Math.floor(($(".slider ul").width()-1)/OuterBoxWidth);//總組數
$(".status li").eq(gNum).addClass("now");
$(".prev").hide();
if(TotalPage==0){
$(".next").hide();
}
$(".next").click(function(){
if(gNum<TotalPage){
gNum++;
dX = gNum*OuterBoxWidth*-1;
$(".prev").show();
if(gNum==TotalPage){
$(".next").hide();
}
else
{
$(".next").show();
}
}
SS();
});
$(".prev").click(function(){
if(gNum>0){
gNum--;
dX = gNum*OuterBoxWidth*-1;
$(".next").show();
if(gNum==0){
$(".prev").hide();
}
}
else
{
$(".next").show();
}
SS();
});
function SS(){
$(".slider ul").stop().animate({left:dX}, 700);
$(".status li").removeClass().eq(gNum).addClass("now");
}
$(".status li").click(function(){
gNum=$(this).index();
dX = gNum*OuterBoxWidth*-1;
SS();
});
});
})(jQuery);
</script>
</head>
方法二:首頁點選左箭頭滑動至頁尾,頁尾點選右箭頭滑動至首頁。
<head>
<script language="javascript">
(function($) {
$(function(){
var gNum=0;//組數的初始值
var dX=0;//水平座標位置
var OuterBoxWidth=$(".slider").width();//外層寬度
var TotalPage=Math.floor(($(".slider ul").width()-1)/OuterBoxWidth);//總組數
$(".status li").eq(gNum).addClass("now");
$(".next").click(function(){
if(gNum<TotalPage){
gNum++;
dX = gNum*OuterBoxWidth*-1;
}else{
gNum=0;
dX = 0;
}
SS();
});
$(".prev").click(function(){
if(gNum>0){
gNum--;
dX = gNum*OuterBoxWidth*-1;
$(".next").show();
}
else
{
if (TotalPage>= 1)
{
dX = TotalPage*OuterBoxWidth*-1;
gNum = TotalPage
}
}
SS();
});
function SS(){
$(".slider ul").stop().animate({left:dX}, 700);
$(".status li").removeClass().eq(gNum).addClass("now");
}
$(".status li").click(function(){
gNum=$(this).index();
dX = gNum*OuterBoxWidth*-1;
SS();
});
});
})(jQuery);
</script>
</head>
CSS部份:
<style type="text/css">
.list{ list-style:none; margin:0; padding:0;}
.sliderBox{ background-color :#ede9e8; width:960px; overflow:hidden; position:relative;padding-bottom:7px; }
.slider{ width:888px; height:50px; overflow:hidden; margin:auto; position:relative;}
.slider ul{ overflow:hidden; position:absolute; left:0;list-style-type:none;}
.slider li{ float:left;text-align:center;list-style-type:none;}
.status{ text-align:center; margin-top:0px; position:relative\9; *margin-left:435px;}
.status li{ cursor:pointer; background:#FFF; display:inline-block; text-indent:-9999px; border:2px solid #CCC; width:8px; height:8px; border-radius:100%; margin:0 5px; *float:left; }
.status li.now{ background:#09C; border-color:#999;}
.dIcon{ text-indent:-9999px; position:absolute; top:15px; display:block; width:10px; height:10px; background:url(../slider.png) no-repeat; width:22px; height:30px;}
.next{ right:5px; background-position:-22px -2px;}
.prev{ left:5px; background-position:0 -2px;}
.next:hover{ background-position:-22px -32px;}
.prev:hover{ background-position:0 -32px;}
</style>
HTML的部份:
<div class="sliderBox">
<div class="slider">
<ul id="ulSlider" class="list" runat="server">
<li>
<table border="0" bgcolor="#ede9e8" width="296">
<tr>
<td width="50" rowspan="2" align="left" style= "word-break:break-all;">
<asp:Image ID="img" runat="server" ImageUrl=''/>
</td>
<td width="246" align="left" valign="bottom">
<div style="width: 236px;text-overflow:ellipsis; white-space:nowrap;overflow:hidden">
<asp:LinkButton ID="btname" style="text-decoration:none" ForeColor="Black" runat="server" Text='name'></asp:LinkButton>
</div>
</td>
</tr>
<tr>
<td width="246" align="left" valign="top" style= "word-break:break-all;">
<asp:LinkButton ID="btDesc" style="text-decoration:none;" ForeColor="Black" runat="server" Text='Desc'></asp:LinkButton>
</td>
</tr>
</table>
</ul>
</div>
<a href="javascript:;" class="dIcon next">Next</a>
<a href="javascript:;" class="dIcon prev">Prev</a>
</div>
依照參考資料的jQuery練習了兩種不同功能顯示方式。
方法一:依頁數隱藏左右滑動箭頭。
<head>
<script language="javascript">
(function($) {
$(function(){
var gNum=0;//組數的初始值
var dX=0;//水平座標位置
var OuterBoxWidth=$(".slider").width();//外層寬度
var TotalPage=Math.floor(($(".slider ul").width()-1)/OuterBoxWidth);//總組數
$(".status li").eq(gNum).addClass("now");
$(".prev").hide();
if(TotalPage==0){
$(".next").hide();
}
$(".next").click(function(){
if(gNum<TotalPage){
gNum++;
dX = gNum*OuterBoxWidth*-1;
$(".prev").show();
if(gNum==TotalPage){
$(".next").hide();
}
else
{
$(".next").show();
}
}
SS();
});
$(".prev").click(function(){
if(gNum>0){
gNum--;
dX = gNum*OuterBoxWidth*-1;
$(".next").show();
if(gNum==0){
$(".prev").hide();
}
}
else
{
$(".next").show();
}
SS();
});
function SS(){
$(".slider ul").stop().animate({left:dX}, 700);
$(".status li").removeClass().eq(gNum).addClass("now");
}
$(".status li").click(function(){
gNum=$(this).index();
dX = gNum*OuterBoxWidth*-1;
SS();
});
});
})(jQuery);
</script>
</head>
方法二:首頁點選左箭頭滑動至頁尾,頁尾點選右箭頭滑動至首頁。
<head>
<script language="javascript">
(function($) {
$(function(){
var gNum=0;//組數的初始值
var dX=0;//水平座標位置
var OuterBoxWidth=$(".slider").width();//外層寬度
var TotalPage=Math.floor(($(".slider ul").width()-1)/OuterBoxWidth);//總組數
$(".status li").eq(gNum).addClass("now");
$(".next").click(function(){
if(gNum<TotalPage){
gNum++;
dX = gNum*OuterBoxWidth*-1;
}else{
gNum=0;
dX = 0;
}
SS();
});
$(".prev").click(function(){
if(gNum>0){
gNum--;
dX = gNum*OuterBoxWidth*-1;
$(".next").show();
}
else
{
if (TotalPage>= 1)
{
dX = TotalPage*OuterBoxWidth*-1;
gNum = TotalPage
}
}
SS();
});
function SS(){
$(".slider ul").stop().animate({left:dX}, 700);
$(".status li").removeClass().eq(gNum).addClass("now");
}
$(".status li").click(function(){
gNum=$(this).index();
dX = gNum*OuterBoxWidth*-1;
SS();
});
});
})(jQuery);
</script>
</head>
CSS部份:
<style type="text/css">
.list{ list-style:none; margin:0; padding:0;}
.sliderBox{ background-color :#ede9e8; width:960px; overflow:hidden; position:relative;padding-bottom:7px; }
.slider{ width:888px; height:50px; overflow:hidden; margin:auto; position:relative;}
.slider ul{ overflow:hidden; position:absolute; left:0;list-style-type:none;}
.slider li{ float:left;text-align:center;list-style-type:none;}
.status{ text-align:center; margin-top:0px; position:relative\9; *margin-left:435px;}
.status li{ cursor:pointer; background:#FFF; display:inline-block; text-indent:-9999px; border:2px solid #CCC; width:8px; height:8px; border-radius:100%; margin:0 5px; *float:left; }
.status li.now{ background:#09C; border-color:#999;}
.dIcon{ text-indent:-9999px; position:absolute; top:15px; display:block; width:10px; height:10px; background:url(../slider.png) no-repeat; width:22px; height:30px;}
.next{ right:5px; background-position:-22px -2px;}
.prev{ left:5px; background-position:0 -2px;}
.next:hover{ background-position:-22px -32px;}
.prev:hover{ background-position:0 -32px;}
</style>
HTML的部份:
<div class="sliderBox">
<div class="slider">
<ul id="ulSlider" class="list" runat="server">
<li>
<table border="0" bgcolor="#ede9e8" width="296">
<tr>
<td width="50" rowspan="2" align="left" style= "word-break:break-all;">
<asp:Image ID="img" runat="server" ImageUrl=''/>
</td>
<td width="246" align="left" valign="bottom">
<div style="width: 236px;text-overflow:ellipsis; white-space:nowrap;overflow:hidden">
<asp:LinkButton ID="btname" style="text-decoration:none" ForeColor="Black" runat="server" Text='name'></asp:LinkButton>
</div>
</td>
</tr>
<tr>
<td width="246" align="left" valign="top" style= "word-break:break-all;">
<asp:LinkButton ID="btDesc" style="text-decoration:none;" ForeColor="Black" runat="server" Text='Desc'></asp:LinkButton>
</td>
</tr>
</table>
</ul>
</div>
<a href="javascript:;" class="dIcon next">Next</a>
<a href="javascript:;" class="dIcon prev">Prev</a>
</div>
1.Dynamic add control LinkButton
'Generate Name Link Button
Dim btnName As New LinkButton AddHandler btnName.Click, AddressOf btnDownload_Click
btnName.ID = "123"
btnName.CommandName = "name"
btnName.Attributes.Add("runat", "server")
btnName.Style.Add("text-decoration", "none")
2.Dynamic add control table and insert Link Button to TD
'Generate table
Dim table As New Table()
Dim tRow As New TableRow()
Dim tCell As New TableCell()
'Insert link button to table
tCell.Controls.Add(btnName)
tRow.Cells.Add(tCell)
table.Rows.Add(tRow)
3.Dynamic add control DIV and insert Table to DIV
'Generate div
Dim div As New HtmlGenericControl("div")
'Insert table to Div
div.Controls.Add(table)
參考資料:
http://www.allenkuo.com/EBook5/view.aspx?TreeNodeID=31&id=58
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20071105235713OLJ&fumcde=
www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20060910192120K3P.html
http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20120828093044OHM.html
http://www.aspsnippets.com/Articles/ASPNet-Persist-Dynamic-Controls-Dynamic-Controls-disappear-after-PostBack-in-ASPNet.aspx
http://jayhsunote.blogspot.tw/2011/06/aspnet-controlusercontrolpostback.html
http://w3937.pixnet.net/blog/post/75882652-%5Bc%23%5Dasp.net-%E5%8B%95%E6%85%8B%E7%94%A2%E7%94%9F%E6%8E%A7%E5%88%B6%E9%A0%85%E7%AD%86%E8%A8%98
http://www.dotblogs.com.tw/jeff377/archive/2008/03/17/1727.aspx
http://zongnansieprogram.blogspot.tw/2013/09/c-vb-pageload-pageinit.html?spref=fb
http://www.aspsnippets.com/Articles/ASPNet-Dynamic-Controls-ViewState-Retain-state-for-dynamically-created-controls-on-PostBack.aspx
'Generate Name Link Button
Dim btnName As New LinkButton AddHandler btnName.Click, AddressOf btnDownload_Click
btnName.ID = "123"
btnName.CommandName = "name"
btnName.Attributes.Add("runat", "server")
btnName.Style.Add("text-decoration", "none")
2.Dynamic add control table and insert Link Button to TD
'Generate table
Dim table As New Table()
Dim tRow As New TableRow()
Dim tCell As New TableCell()
'Insert link button to table
tCell.Controls.Add(btnName)
tRow.Cells.Add(tCell)
table.Rows.Add(tRow)
3.Dynamic add control DIV and insert Table to DIV
'Generate div
Dim div As New HtmlGenericControl("div")
'Insert table to Div
div.Controls.Add(table)
參考資料:
http://www.allenkuo.com/EBook5/view.aspx?TreeNodeID=31&id=58
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20071105235713OLJ&fumcde=
www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20060910192120K3P.html
http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20120828093044OHM.html
http://www.aspsnippets.com/Articles/ASPNet-Persist-Dynamic-Controls-Dynamic-Controls-disappear-after-PostBack-in-ASPNet.aspx
http://jayhsunote.blogspot.tw/2011/06/aspnet-controlusercontrolpostback.html
http://w3937.pixnet.net/blog/post/75882652-%5Bc%23%5Dasp.net-%E5%8B%95%E6%85%8B%E7%94%A2%E7%94%9F%E6%8E%A7%E5%88%B6%E9%A0%85%E7%AD%86%E8%A8%98
http://www.dotblogs.com.tw/jeff377/archive/2008/03/17/1727.aspx
http://zongnansieprogram.blogspot.tw/2013/09/c-vb-pageload-pageinit.html?spref=fb
http://www.aspsnippets.com/Articles/ASPNet-Dynamic-Controls-ViewState-Retain-state-for-dynamically-created-controls-on-PostBack.aspx
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<style type="text/css">
.left {
float:left;
}
</style>
<script language="javascript">
$(document).ready(function(){
alert($(document).width());
var docw = $(document).width() - 599;
$("#SliderRight").click(function(){
$("#main").animate({
scrollLeft: $("#main").scrollLeft() + docw
}, 700,function(){});
});
$("#SliderLeft").click(function(){
$("#main").animate({
scrollLeft: $("#main").scrollLeft() - docw
}, 700,function(){});
});
});
</script>
</head>
<body>
</html>
參考資料:
http://sweeteason.pixnet.net/blog/post/37793032-%E7%B7%B4%E7%BF%92%E7%94%A8jquery-%E8%AE%93%E9%A0%81%E9%9D%A2%E5%B7%A6%E5%8F%B3%E6%BB%91%E5%8B%95
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<style type="text/css">
.left {
float:left;
}
</style>
<script language="javascript">
$(document).ready(function(){
alert($(document).width());
var docw = $(document).width() - 599;
$("#SliderRight").click(function(){
$("#main").animate({
scrollLeft: $("#main").scrollLeft() + docw
}, 700,function(){});
});
$("#SliderLeft").click(function(){
$("#main").animate({
scrollLeft: $("#main").scrollLeft() - docw
}, 700,function(){});
});
});
</script>
</head>
<body>
<input type="button" id="left" value="左" /> <input type="button" id="right" value="右" /> <div id="main" style="margin: 50px auto; overflow: hidden; width: 100%; height: 600px;"> <div style="width: 4200px;"> <div class="left">1<br /><img src="1.jpg" alt="" width="300px" /></div> <div class="left">2<br /><img src="2.jpg" alt="" width="300px" /></div> <div class="left">3<br /><img src="3.jpg" alt="" width="300px" /></div> <div class="left">4<br /><img src="4.jpg" alt="" width="300px" /></div> <div class="left">5<br /><img src="5.jpg" alt="" width="300px" /></div> </div> </div></body>
</html>
參考資料:
http://sweeteason.pixnet.net/blog/post/37793032-%E7%B7%B4%E7%BF%92%E7%94%A8jquery-%E8%AE%93%E9%A0%81%E9%9D%A2%E5%B7%A6%E5%8F%B3%E6%BB%91%E5%8B%95
新增Chart Control
Visual Studio 2008 web.config加入MSChart的元件 (.Net Framework 3.5)
<configuration>
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~\images\chartTemporary\;" />
</appSettings>
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="POST,GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
</system.web>
<pages validateRequest="false" enableEventValidation="false" enableViewStateMac="true">
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
<compilation debug="true">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</configuration>
參考來源:http://www.dotblogs.com.tw/shunnien/archive/2013/04/15/101651.aspx
前台
<asp:Chart ID="Chart1" runat="server" ImageStorageMode="UseImageLocation" Visible="false" Width="720px" ImageLocation="~/images/chartTemporary/ChartPic_#SEQ(300,3)">
<Series>
<asp:Series Name="Series1">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
ImageLocation :暫存圖檔位置及檔案名稱設定。
ChartPic_#SEQ(300,3)的規則為300張圖片為一個循環。
參考來源:
http://www.4guysfromrolla.com/articles/081909-1.aspx
http://www.dotblogs.com.tw/shadow/archive/2011/03/10/21762.aspx
後台
Private Sub CreateChart(ByVal dt As DataTable)
'資料來源為DataTable(欄位名稱MyDateTime及Count)
' xValues:MyDateTime , yValues:Count
For Each row As DataRow In dt.Rows
Dim intPointidx As Integer
'新增該筆資料的XY值,並取得該值的idx
intPointidx = Chart1.Series("Series1").Points.AddXY(row("DateTime").ToString(), row("Count"))
'利用idx顯示該值的ToolTip
Chart1.Series("Series1").Points(intPointidx).ToolTip = row("MyDateTime") & "\n" & row("Count")
'設定Marker
Chart1.Series("Series1").Points(intPointidx).MarkerColor = Color.FromArgb(62, 151, 201)
Chart1.Series("Series1").Points(intPointidx).MarkerStyle = MarkerStyle.Circle
Chart1.Series("Series1").Points(intPointidx).MarkerSize = 10
Next
'增加圖示
Chart1.Legends.Add("Legends1")
Chart1.Legends("Legends1").BackHatchStyle = DataVisualization.Charting.ChartHatchStyle.DarkDownwardDiagonal
Chart1.Legends("Legends1").BorderWidth = 1
Chart1.Legends("Legends1").BorderColor = Color.FromArgb(200, 200, 200)
Chart1.Legends("Legends1").Docking = Docking.Top
'設定X軸及Y軸
Chart1.ChartAreas("ChartArea1").AxisY.ScaleBreakStyle.CollapsibleSpaceThreshold = 20
Chart1.ChartAreas("ChartArea1").AxisY.ScaleBreakStyle.LineColor = Color.Red
Chart1.ChartAreas("ChartArea1").AxisY.LabelStyle.Font = New System.Drawing.Font("Arial", 9, System.Drawing.FontStyle.Regular)
Chart1.ChartAreas("ChartArea1").BackGradientStyle = DataVisualization.Charting.GradientStyle.VerticalCenter
Chart1.ChartAreas("ChartArea1").Area3DStyle.Enable3D = False
Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.Font = New System.Drawing.Font("Arial", 9, System.Drawing.FontStyle.Regular)
Chart1.ChartAreas("ChartArea1").AxisX.Enabled = DataVisualization.Charting.AxisEnabled.True
Chart1.ChartAreas("ChartArea1").AxisY.Minimum = 0
Chart1.ChartAreas("ChartArea1").AxisX.MajorGrid.Enabled = False
Chart1.ChartAreas("ChartArea1").AxisY.MajorGrid.Enabled = True
Chart1.ChartAreas("ChartArea1").AxisY.MajorGrid.LineColor = Color.FromArgb(150, 150, 150)
Chart1.ChartAreas("ChartArea1").AxisX.MajorGrid.LineColor = Color.FromArgb(150, 150, 150)
Chart1.ChartAreas("ChartArea1").AxisX.IntervalAutoMode = DataVisualization.Charting.IntervalAutoMode.VariableCount
Chart1.ChartAreas("ChartArea1").AxisX.IsLabelAutoFit = True
Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.IsStaggered = True
'把圖表的左右兩邊空白去除
Chart1.ChartAreas("ChartArea1").AxisX.IsMarginVisible = False
'設定X軸間距
Chart1.ChartAreas("ChartArea1").AxisX.Interval = 1
'設定Y軸間距
Chart1.ChartAreas("ChartArea1").AxisY.Interval = 1
Chart1.Series("Series1").IsValueShownAsLabel = False
Chart1.Series("Series1").LegendText = "DateTime"
Chart1.Series("Series1").Font = New System.Drawing.Font("Arial", 9, System.Drawing.FontStyle.Regular)
Chart1.Series("Series1").ChartType = SeriesChartType.Line
Chart1.Series("Series1").BorderWidth = 3
Chart1.Series("Series1").BorderColor = Color.FromArgb(62, 151, 201)
End Sub
參考資料:
1.http://www.dotblogs.com.tw/suehilary/archive/2011/10/22/45430.aspx
2.http://www.dotblogs.com.tw/shunnien/archive/2013/04/22/102049.aspx
3.http://www.dotblogs.com.tw/mrkt/archive/2008/11/28/6116.aspx
4.http://blog.xuite.net/fenctang/twblog/137597590-asp.net+c%23+MSChart+
http://nickmason.lionfree.net/blog/117/%E5%A5%BD%E7%94%A8%E7%9A%84%E5%9C%96%E8%A1%A8%E5%B7%A5%E5%85%B7-microsoft-chart-control/
5.http://fecbob.pixnet.net/blog/post/38851855-asp.net%E8%B3%87%E6%96%99%E6%8E%A7%E5%88%B6%E9%A0%85%E4%B9%8Bchart%E7%9A%84%E7%94%A8%E6%B3%95
6.http://xpower2888.pixnet.net/blog/post/149675162-ms-chart-%E6%95%B0%E6%8D%AE%E7%BB%91%E5%AE%9A%E6%96%B9%E6%B3%95
7.http://www.dotblogs.com.tw/nobel12/archive/2009/10/22/11206.aspx
8.http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20110304093353IHH.html
Visual Studio 2008 web.config加入MSChart的元件 (.Net Framework 3.5)
<configuration>
<appSettings>
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~\images\chartTemporary\;" />
</appSettings>
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="POST,GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
</system.webServer>
<system.web>
<httpHandlers>
<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
</system.web>
<pages validateRequest="false" enableEventValidation="false" enableViewStateMac="true">
<controls>
<add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
<compilation debug="true">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</configuration>
參考來源:http://www.dotblogs.com.tw/shunnien/archive/2013/04/15/101651.aspx
前台
<asp:Chart ID="Chart1" runat="server" ImageStorageMode="UseImageLocation" Visible="false" Width="720px" ImageLocation="~/images/chartTemporary/ChartPic_#SEQ(300,3)">
<Series>
<asp:Series Name="Series1">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
ImageLocation :暫存圖檔位置及檔案名稱設定。
ChartPic_#SEQ(300,3)的規則為300張圖片為一個循環。
參考來源:
http://www.4guysfromrolla.com/articles/081909-1.aspx
http://www.dotblogs.com.tw/shadow/archive/2011/03/10/21762.aspx
後台
Private Sub CreateChart(ByVal dt As DataTable)
'資料來源為DataTable(欄位名稱MyDateTime及Count)
' xValues:MyDateTime , yValues:Count
For Each row As DataRow In dt.Rows
Dim intPointidx As Integer
'新增該筆資料的XY值,並取得該值的idx
intPointidx = Chart1.Series("Series1").Points.AddXY(row("DateTime").ToString(), row("Count"))
'利用idx顯示該值的ToolTip
Chart1.Series("Series1").Points(intPointidx).ToolTip = row("MyDateTime") & "\n" & row("Count")
'設定Marker
Chart1.Series("Series1").Points(intPointidx).MarkerColor = Color.FromArgb(62, 151, 201)
Chart1.Series("Series1").Points(intPointidx).MarkerStyle = MarkerStyle.Circle
Chart1.Series("Series1").Points(intPointidx).MarkerSize = 10
Next
'增加圖示
Chart1.Legends.Add("Legends1")
Chart1.Legends("Legends1").BackHatchStyle = DataVisualization.Charting.ChartHatchStyle.DarkDownwardDiagonal
Chart1.Legends("Legends1").BorderWidth = 1
Chart1.Legends("Legends1").BorderColor = Color.FromArgb(200, 200, 200)
Chart1.Legends("Legends1").Docking = Docking.Top
'設定X軸及Y軸
Chart1.ChartAreas("ChartArea1").AxisY.ScaleBreakStyle.CollapsibleSpaceThreshold = 20
Chart1.ChartAreas("ChartArea1").AxisY.ScaleBreakStyle.LineColor = Color.Red
Chart1.ChartAreas("ChartArea1").AxisY.LabelStyle.Font = New System.Drawing.Font("Arial", 9, System.Drawing.FontStyle.Regular)
Chart1.ChartAreas("ChartArea1").BackGradientStyle = DataVisualization.Charting.GradientStyle.VerticalCenter
Chart1.ChartAreas("ChartArea1").Area3DStyle.Enable3D = False
Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.Font = New System.Drawing.Font("Arial", 9, System.Drawing.FontStyle.Regular)
Chart1.ChartAreas("ChartArea1").AxisX.Enabled = DataVisualization.Charting.AxisEnabled.True
Chart1.ChartAreas("ChartArea1").AxisY.Minimum = 0
Chart1.ChartAreas("ChartArea1").AxisX.MajorGrid.Enabled = False
Chart1.ChartAreas("ChartArea1").AxisY.MajorGrid.Enabled = True
Chart1.ChartAreas("ChartArea1").AxisY.MajorGrid.LineColor = Color.FromArgb(150, 150, 150)
Chart1.ChartAreas("ChartArea1").AxisX.MajorGrid.LineColor = Color.FromArgb(150, 150, 150)
Chart1.ChartAreas("ChartArea1").AxisX.IntervalAutoMode = DataVisualization.Charting.IntervalAutoMode.VariableCount
Chart1.ChartAreas("ChartArea1").AxisX.IsLabelAutoFit = True
Chart1.ChartAreas("ChartArea1").AxisX.LabelStyle.IsStaggered = True
'把圖表的左右兩邊空白去除
Chart1.ChartAreas("ChartArea1").AxisX.IsMarginVisible = False
'設定X軸間距
Chart1.ChartAreas("ChartArea1").AxisX.Interval = 1
'設定Y軸間距
Chart1.ChartAreas("ChartArea1").AxisY.Interval = 1
Chart1.Series("Series1").IsValueShownAsLabel = False
Chart1.Series("Series1").LegendText = "DateTime"
Chart1.Series("Series1").Font = New System.Drawing.Font("Arial", 9, System.Drawing.FontStyle.Regular)
Chart1.Series("Series1").ChartType = SeriesChartType.Line
Chart1.Series("Series1").BorderWidth = 3
Chart1.Series("Series1").BorderColor = Color.FromArgb(62, 151, 201)
End Sub
參考資料:
1.http://www.dotblogs.com.tw/suehilary/archive/2011/10/22/45430.aspx
2.http://www.dotblogs.com.tw/shunnien/archive/2013/04/22/102049.aspx
3.http://www.dotblogs.com.tw/mrkt/archive/2008/11/28/6116.aspx
4.http://blog.xuite.net/fenctang/twblog/137597590-asp.net+c%23+MSChart+
http://nickmason.lionfree.net/blog/117/%E5%A5%BD%E7%94%A8%E7%9A%84%E5%9C%96%E8%A1%A8%E5%B7%A5%E5%85%B7-microsoft-chart-control/
5.http://fecbob.pixnet.net/blog/post/38851855-asp.net%E8%B3%87%E6%96%99%E6%8E%A7%E5%88%B6%E9%A0%85%E4%B9%8Bchart%E7%9A%84%E7%94%A8%E6%B3%95
6.http://xpower2888.pixnet.net/blog/post/149675162-ms-chart-%E6%95%B0%E6%8D%AE%E7%BB%91%E5%AE%9A%E6%96%B9%E6%B3%95
7.http://www.dotblogs.com.tw/nobel12/archive/2009/10/22/11206.aspx
8.http://www.blueshop.com.tw/board/FUM20041006161839LRJ/BRD20110304093353IHH.html













