C50108
  • 2019/0801/轉職成功路途開始
  • 自學心得與此網站使用方式
  • 行事曆&課程大綱
  • 2019/0224/自我檢視
  • 雜記
    • 2019/0103/雜記
    • 2019/0410/作品集建構
    • 2019/0429/職訓局書單
    • 2019/0317/自我檢視
    • 2019/0316/陪玄松去高車討論&環境圖流程圖大神們line討論
    • 2019/0305/Gitbook使用方法
  • 2018/10XX/轉職心路歷程
  • 職訓局里程碑
    • 201901
      • 2019/0103/行動商務系統設計與開發,職訓局報到
      • 2019/0104/正式開課日&行動商務課程簡介
      • 2019/0108/資料庫理論/Access&WEB開發簡介
      • 2019/0109/資料庫資料型態屬性&HTMLtag
      • 2019/0110/計概基礎概念
      • 2019/0111/HTML表格table&form表單_post/get&iframe
      • 2019/0114/計&網概概念&網路層概念
      • 2019/0115/資料庫Access運算值&CSS簡介&在職班補充
      • 2019/0116/Access比較/邏輯運算&CSS_在職班補充+選擇器+Box model
      • 2019/0117/資訊系統架構&網路層
      • 2019/0118/資料庫正規化
      • 2019/0121/計概IT分工&資料庫正規化
      • 2019/0122/網路層&CSS父子容器切版
      • 2019/0123/Access資料庫關聯&CSS position&偵錯
      • 2019/0124/C#宣告、指定運算子
      • 2019/0125/VM虛擬機_基礎介紹
      • 2019/0128/VM虛擬機架設_虛擬網卡設定&伺服器權限設置
      • 2019/0129/Wireshark查詢網路層&資料庫物件導向
      • 2019/0130/ERmod雞爪圖&C#if、for時間複雜度
      • 2019/0131/C#流程控制&變數型別
    • 201902
      • 2019/0201/系統分析與設計_資料庫ERmod&c#Homework
      • 2019/0211/ASP.NET_Webforms&物件命名空間
      • 2019/0212/定址&網路遮罩
      • 2019/0213/SQLSeverM.S.介紹&AspWebforms表單控制項
      • 2019/0214/網概乙太網路&網路安全
      • 2019/0215/Pre Javascript 基礎 & 在職班補充
      • 2019/0218/TSQL基本指令&ASP.net左右置換表格/驗證傳值
      • 2019/0219/Javascript終極密碼&musicplay&asp.net驗證器
      • 2019/0220/SS基本語法&網概line機器人
      • 2019/0221/前端Javascript musicplay、內聚力耦合率
      • 2019/0222/前端Javascript musicplay、內聚力耦合率&伺服器權限
      • 2019/0223/SqlServerHomework&第一次專案報告
      • 2019/0225/SS合併查詢&ASP.NET驗證器
      • 2019/0226/伺服器ntfs安全性權限/共用權限
      • 2019/0227/Javascript_music_play_end&ASP.net串聯SQL(datasource就是拿來串SQLServer的)
    • 201903
      • 2019/0304/SS集合運算/子查詢/exists&asp.net GridView 事件 OnRowDataBound
      • 2019/0305/SS查詢式end&ASP.NET_Gridview_自訂樣式分頁
      • 2019/0306/Javascript musicplay_really_end
      • 2019/0307/前端HTML5鑲嵌字型&伺服器網域概念
      • 2019/0308/Android Studio_基礎概念&開發環境建置
      • 2019/0311/胡中興 工業4.0講習
      • 2019/0312/安卓系統_開發基礎介紹
      • 2019/0313/安卓工作室_基礎/布局內元件
      • 2019/0314/Asp.net鏈結資料庫-查詢
      • 2019/0315/SQS DML&第二次專案報告
      • 2019/0318/SQL DDL & 伺服器 自學基礎
      • 2019/0319/Android Studio_布局內元件&佈局規劃元件
      • 2019/0320/SQL檢視表&tsql基礎&Asp.net_Gridview
      • 2019/0321/TSQL&TDM&ASP.NET_Datalist
      • 2019/0322/DOM&JQ基礎&系統分析設計PPT&在職班補充
      • 2019/0325/TMD&Asp.net上傳圖片/產生QRCode
      • 2019/0326/SQLServer_預存程序+函數&Asp.net_Webforms半自動鏈結資料庫與自動化更新
      • 2019/0327/安卓工作室_佈局規劃元件
      • 2019/0328/jQuery選擇器應用&Ajax導讀+應用&asp.net串sserver_註冊帳號功能
      • 2019/0329/ADDS伺服器架設&第三次專題報告
    • 201904
      • 2019/0401/SQL觸發程序&Asp.net自動寄信&認證信
      • 2019/0402/前端作業四-jQ應用轉換樣式&ASP.NET_FormView控制項-會員資料維護實例
      • 2019/0403/JQ事件動畫&股市&Usecase
      • 2019/0408/安卓工作室_元件/布局基本end
      • 2019/0409/安卓工作室-物件導向事件驅動實作+Homework1&2
      • 2019/0410/上午小組討論-作品集自習&Visual studio webform+MVC範本
      • 2019/0411/安卓工作室-UI觸發委派函式與控制物件
      • 2019/0412/JQ動畫實做(寶可夢遊戲開場)&第四次專題報告
      • 2019/0415/前端JQ-Ajax+JSON&後端ADO建置、主板頁面概念控制項、Bootstrap演示
      • 2019/0416/安卓工作室UI控件案例結束、IDE Eclipse_Java物件導向基礎
      • 2019/0417/伺服器網域ADDNS&416LINE討論
      • 2019/0418/SQL指標、索引&Use cace
      • 2019/0419/主頁、Webform ADO.NET Entity Fromwork 增刪修實作&第五次專題報告
      • 2019/0423/Java基礎(型別/溢位/自動強制型別轉換/鑄造物件/串流/)&I/O物件用法(底層/較不底層)
      • 2019/0424/Bootstrap_RWD基礎/應用&Asp.Net_MVC實作增刪修(修待補)
      • 2019/0425/伺服器IIS安裝&資料匯入與管理
      • 2019/0426/Asp.Net_MVC增刪修實作(補修)&bootstrap – gridsystem– 網格系統&第六次專題報告&全國技能競賽網頁設計
      • 2019/0429/物件導向技術原理方法實作
      • 2019/0430/資料庫設計應用效能調教_SQL all end&ASP.NET_MVC_Controller單元_純C無V無M操作/簡單複雜繫結
    • 201905
      • 2019/0501/內部網站辨識&外部DNS域名/IP+自架DNS伺服器理解
      • 2019/0502/Java語言基礎、物件導向基礎
      • 2019/0503/Asp.net泛型處理常式驗證圖片應用&第七次專題報告Usecase
      • 2017/0506/Bs_FlexBox&Asp.Net_MVC_View+Razor@+Viewbag+helper
      • 2019/0507/Java 物件導向_類別+函式觀念&階段性作業三
      • 2019/0508/Asp.Net_MVC_Model_ADO.NET+Entityframework+LoginMember實作+MVC觀念
      • 2019/0509/Java物件導向(函式)_儲存型態+回傳值+多載+自制+例外處理+this參照+存取+複合
      • 20919/0510/第八次專題報告=功能DEMO
      • 2019/0514/Java_靜態類別+繼承特性
      • 2019/0515/RWD Utility+Card&MVC ViewModel+CRUD(RD)
      • 2019/0516/BS form&驗證+JQ驗證 & MVC_CRUD(CU)
      • 2019/0517/ASP.NET Webform介紹Master page 主頁 & Session 簡介 & 登入login驗證 & 隱碼攻擊injection & 工具箱程式碼片段使用
      • 2019/0520/繼承&存取權特性+java作業四+字符串格式化+多形+抽象類別
      • 2019/0521/抽象類別+介面
      • 2019/0522/Bootstrap Components 元件介紹 + MVC API 概念&實作
      • 2019/0523/IIS IP限制&ASP.NET部屬
      • 2019/0524/WebApi異質程式連線方式&第九次專題報告_循序圖
      • 2019/0528/Bootstrap Components 元件介紹 + MVC 登入驗證 + 商品加入購物車 實作
      • 2019/0529/ASP.NET_MVC購物車訂單功能完成+BootstrapComponents元件介紹
      • 2019/0530/原本是伺服器的課,但拿來做專題。
      • 2019/0531/ASP.NET_WebformAllView物件功能清單&ListView實作&第十次專案報告(完整循序圖)
    • 201906
      • 2019/0603/Bootstrap Components RWD End + ASP.NET_MVC Part2 PhotoSharing CodeFirst & Model 驗證
      • 2019/0604/ASP.NET_MVC Part2 PhotoSharing Controller & Filter & ADO.NET & View@RAZOR Helper
      • 2019/0605/Java介面實作&結束+安卓工作室(整合Layout與Java)Intent意圖&Bundle包裹
      • 2019/0606/第十一次專案報告功能demo+SingnaIR+伺服器作業+端午歌唱比賽
      • 2019/0609/黃大神傳授Visual_Studio&除錯技巧
      • 2019/0610/番外篇 Web Socket 即時連線& 就業前準備與技巧
      • 2019/0611/安卓工作室_(意圖+隱含意圖)資料傳遞+Android生命週期+硬體裝置與應用
      • 2019/0612/WebSockets Notification + MVC Part2 PhotoSharing PartialView & ADO.NET & EntitySQL & VMd
      • 2019/0613/MVC Part2 PhotoSharing ViewModel & ErrorHandle
      • 2019/0614/第十二次專案報告 功能Demo
      • 2019/0618/MVC Part2 PhotoSharing Route & Sitemap & _LayOut & AJAX
      • 2019/0618/RWD在職班_(Javascript_object-oriented programming)
      • 2019/0619/安卓工作室_(硬體裝置與應用)相機操作&GPS+階段性作業6+延伸 ( APP End )
      • 2019/0620/MVC補充C#MS SQL匯入CSV+上傳CSV存入MS SQL
      • 2019/0621/第十三次專案報告 功能Demo
    • 2019/0701/最終專案報告
    • 2019/0702/結訓與家人遊台東預計0708開始找工作自學筆記應該會等工作穩定後繼續開始
  • 自學里程碑
    • 201901
      • 2019/0107/DR
      • 2019/0108/UW
      • 2019/0103/Git
      • 2019/0103/CS
      • 2019/0115/Vscode
      • 2019/0116/JSON&AJAX
      • 2019/0122/卡內基
      • 2019/0126/MBTI
      • 2019/0131/PDP 外在 內在
    • 201902
      • 2019/0217/huli_half Developer
      • 2019/0219/SEO
      • 2019/0219/雪球速讀法
    • 201903
      • 2019/0304/asp、php、jsp、asp.net、net. Framework、asp.net core
      • 2019/0329/網站架站初嘗試
    • 201904
      • 2019/0415/Datatype-Explanation
      • 2019/0416/ASP.NET_Webform&Core&MVC(MVVM/MVP)
    • 201905
      • 2019/0613/開發職訓局共同專案時遇到的問題與解法
      • 2019/0514/ASP.NET SignalR
      • 2019/0514/JS擴展-JQ、React、Vue、Angular...
      • 2019/0514/Sass&Scss
      • 2019/0514/MVC結合Webform
      • 2019/0515/ASP.NET MVC_TempData/ViewData/ViewBag
      • 2019/0522/[自學筆記]海綿體啟蒙??
Powered by GitBook
On this page
  • 前端程式設計最後一PART ( AJAX JSON )
  • 範例 : 農委會開放平台
  • 題外話:
  • 範例 : 關鍵字查詢 API
  • 補充
  • 下午後端 webform 準備踏入 MVC
  • 建置環境
  • 主板頁面概念 Contentplaceholder 控制項
  • Bootstrap UI介面 3.4.1 (版本很重要不可互用)

Was this helpful?

  1. 職訓局里程碑
  2. 201904

2019/0415/前端JQ-Ajax+JSON&後端ADO建置、主板頁面概念控制項、Bootstrap演示

前端程式設計最後一PART ( AJAX JSON )

第29有試過抓取GOOGLE API拋出來的資料 ( 前五筆免前

第三方api

Application Interface 程式用的介面

Ui user Interface

為了要跨裝置,不像以前單純

Client -> api -> server 完全分開

無論是增刪修

與後端溝通必須要有個標準

但前端設備太多了

所以需要api做整合

以前用 xml soap

現在改為 json

範例 : 農委會開放平台

更新速度非常快

資料格式非常多 json csv excel word xml

以後的資料不一定都跟資料庫溝通

有種方式為 nosql

有資料介接說明文件甚至有版本

json不管是什麼資料都必須要放在雙引號內

ctrl c 回vs

前端專案增加新項目json檔案

Ctrl v 就很清楚結構

其實就是一堆的集合[ ]

每筆資料{ }

“Key”:”value”, 表示法

利用url取資料

就想像把api想像為函數

必須要有技術文件才看得懂設計

第一html

第二jq

第三dom

以往js寫ajax非常麻煩

現在利用jq來寫

jq寫ajax

利用ajax方法 跟 api要資料

$.ajax(); 方法

Ajax->局部更新

Ux Experience

不用整個網頁做post也可以向伺服器提出要資料

type:

http有兩種傳遞資料方式get post

url:

json位址,(像是背景資料非同步有拿到資料或沒拿到都不會看到報錯

format:

指定api拋回之資料格式,以往預設是xml

success:

成功抓取資料的話執行後續函式

error:

失敗了執行後續函式

將資料顯示(dom資料)

可以換顯示順序或顯示筆數或樣式

題外話:

表格不適合響應式,卡片才適合。

不知道幾筆所以要用迴圈控制

順道知道html5語意thead、tbody

傳入data(json資料)參數進函數使用

欄位位址.欄位名稱

data[i].AVGPRICE

PRGRAS?? preload?? 有時筆數資料太多 必須讓使用者知道正在讀取

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <table id="tb1" border="1">
        
    </table>


    <script src="Scripts/jquery-3.3.1.min.js"></script>
    <script>
        $.ajax({
            type: 'GET',
            url: 'ProductPrice.json',
            format: 'json',
            success: function (data) {
                //alert('Success!!');
                $('#tb1').append("<thead><tr><th>品項名稱</th><th>報價</th><th>年</th><th>月</th><th>旬</th><th>鄉鎮農會</th></tr></thead>");
                $('#tb1').append("<tboday>");
                for (var i = 0; i < data.length; i++) {
                    $('#tb1').append("<tr><th>" + data[i].PRODUCTNAME + "</th><th>" + data[i].AVGPRICE + "</th><th>" + data[i].YEAR + "</th><th>" + data[i].MONTH + "</th><th>" + data[i].PERIOD + "</th><th>" + data[i].ORGNAME +"</th></tr>");

                }
                $('#tb1').append("</tboday>");

            },
            error: function () {
                alert('Error!!');
            }

        });


    </script>
</body>
</html>

加上css

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        #tb1{
            width:90%;
            margin:auto;
        }
        #tb1 thead tr{
            background-color:#383838;
            color:white;
        }

            #tb1 tbody tr:nth-child(2n+1) {
                background-color:#acacac;
            }
            #tb1 tbody tr:nth-child(2n) {
                background-color:white;
            }

            #tb1 tbody tr:hover {
                background-color:aquamarine;
                color:red;
                border:5px solid black;
            }
    </style>
</head>
<body>
    <table id="tb1">
        
    </table>


    <script src="Scripts/jquery-3.3.1.min.js"></script>
    <script>
     
        $.ajax({
            type: 'GET',
            url: 'ProductPrice.json',
            format: 'json',
            success: function (data) {
                //alert('Success!!');
                $('#tb1').append("<thead><tr><th>品項名稱</th><th>報價</th><th>年</th><th>月</th><th>旬</th><th>鄉鎮農會</th></tr></thead>");
                $('#tb1').append("<tbody>");
                for (var i = 0; i < data.length; i++) {
                    $('#tb1').append("<tr><th>" + data[i].PRODUCTNAME + "</th><th>" + data[i].AVGPRICE + "</th><th>" + data[i].YEAR + "</th><th>" + data[i].MONTH + "</th><th>" + data[i].PERIOD + "</th><th>" + data[i].ORGNAME +"</th></tr>");

                }
                $('#tb1').append("</tbody>");

            },
            error: function () {
                alert('Error!!');
            }

        });


    </script>
</body>
</html>

即時資料

XML都是標籤比較笨重

資料介接即時資料

https通常就能直接介接ssl編碼過

xml json 容易被輕易擷取

階層式資料

要自己去想關聯

用id就可以互相查詢

json如果要顯示第二層的資料的話直接打欄位就好(第二層有兩個欄位)

位址.第一層欄位.第二層欄位

邏輯:

1準點或誤點,如果誤點則顯示誤點時間多久

2順行逆行01判斷

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        #tb1{
            width:90%;
            margin:auto;
        }
        #tb1 thead tr{
            background-color:#383838;
            color:white;
        }

            #tb1 tbody tr:nth-child(2n+1) {
                background-color:#acacac;
            }
            #tb1 tbody tr:nth-child(2n) {
                background-color:white;
            }

            #tb1 tbody tr:hover {
           background-color:aquamarine;
                color:red;
                border:5px solid black;
            }
    </style>
</head>
<body>
    <table id="tb1">
        
    </table>


    <script src="Scripts/jquery-3.3.1.min.js"></script>
    <script>

        function updateData() {
            $.ajax({
                type: 'GET',
                url: 'https://ptx.transportdata.tw/MOTC/v2/Rail/TRA/LiveBoard?$format=JSON',
                format: 'json',
                success: function (data) {
                    //alert(data.length);
                    var TripLine;
                    var DelayTime;
                    var Direction;
                    $('#tb1').append("<thead><tr><td>站名</td><td>車次</td><td>車種</td><td>山/海線</td><td>行車方向</td><td>到站時間</td><td>發車時間</td><td>誤點時間</td></tr></thead>");
                    $('#tb1').append("<tbody>");
                    for (var i = 0; i < data.length; i++) {
                            switch (data[i].TripLine) {
                                case 0:
                                    TripLine = "不經山海線";
                                    break;
                                case 1:
                                    TripLine = "山線";
                                    break;
                                case 2:
                                    TripLine = "海線";
                                    break;
                        }
                        DelayTime = data[i].DelayTime == 0 ? "準點" : "<span style='color:red'>誤點" + data[i].DelayTime+"分鐘</span>"
                        Direction = data[i].Direction == 0 ? "順行" : "逆行";


                        $('#tb1').append("<tr><th>" + data[i].StationName.Zh_tw + "</th><th>" + data[i].TrainNo + "</th><th>" + data[i].TrainTypeName.Zh_tw + "</th><th>" + TripLine + "</th><th>" + Direction + "</th><th>" + data[i].ScheduledArrivalTime + "</th><th>" + data[i].ScheduledDepartureTime + "</th><th>" + DelayTime + "</th></tr>");

                    }
                    $('#tb1').append("</tbody>");

                },
                error: function () {
                    alert('Error!!');
                }

            });
            setTimeout("updateData()",120000);
        }
        updateData();
    </script>
</body>
</html>

JSON階層結構

{ 
"StationID": "1001", 
"StationName": { "Zh_tw": "基隆", "En": "Keelung" }, 
"TrainNo": "2134", 
"Direction": 0, 
"TrainTypeID": "1131", 
"TrainTypeCode": "6", 
"TrainTypeName": { "Zh_tw": "區間車", "En": "Local Train" }, 
"TripLine": 1, 
"EndingStationID": "1001", 
"EndingStationName": { "Zh_tw": "基隆", "En": "Keelung" }, "ScheduledArrivalTime": "11:38:00", 
"ScheduledDepartureTime": "11:40:00", 
"DelayTime": 0, 
"SrcUpdateTime": "2019-04-15T11:16:19+08:00", 
"UpdateTime": "2019-04-15T11:17:20+08:00" 
},

範例 : 關鍵字查詢 API

兩種方式

1. 藉由URL去API要關鍵資料顯示(要對方API有寫查詢功能

2. 資料全部抓回來後由程式判別顯示

身為程式設計師就是要抓回來寫邏輯判斷

清空TABLED讓資料不會附加上去

SETINTERVAL每隔多少區間呼叫一次

SETTIMEOUT差別是第二種一開始必須有人呼叫一次

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        #tb1{
            width:90%;
            margin:auto;
        }
        #tb1 thead tr{
            background-color:#383838;
            color:white;
        }

            #tb1 tbody tr:nth-child(2n+1) {
                background-color:#acacac;
            }
            #tb1 tbody tr:nth-child(2n) {
                background-color:white;
            }

            #tb1 tbody tr:hover {
               background-color:aquamarine;
                color:red;
                border:5px solid black;
            }
    </style>
</head>
<body>
    <input id="StationName" type="text" /><input id="Button1" type="button" value="查詢" />
    <table id="tb1">
        
    </table>


    <script src="Scripts/jquery-3.3.1.min.js"></script>
    <script>
        var StationName;
        $('#Button1').click(function () {
            StationName = $('#StationName').val();
            updateData(StationName);
        });

        setInterval(function () { updateData($('#StationName').val()) }, 120000);

        function updateData(StationName) {
            $('#tb1').empty();
            $.ajax({
                type: 'GET',
                url: 'https://ptx.transportdata.tw/MOTC/v2/Rail/TRA/LiveBoard?$format=JSON',
                format: 'json',
                success: function (data) {
                    //alert(data.length);
                    var TripLine;
                    var DelayTime;
                    var Direction;
                    $('#tb1').append("<thead><tr><td>站名</td><td>車次</td><td>車種</td><td>山/海線</td><td>行車方向</td><td>到站時間</td><td>發車時間</td><td>誤點時間</td></tr></thead>");
                    $('#tb1').append("<tbody>");
                    for (var i = 0; i < data.length; i++) {
                        if (data[i].StationName.Zh_tw == StationName) {
                            switch (data[i].TripLine) {
                                case 0:
                                    TripLine = "不經山海線";
                                    break;
                                case 1:
                                    TripLine = "山線";
                                    break;
                                case 2:
                                    TripLine = "海線";
                                    break;
                            }
                            DelayTime = data[i].DelayTime == 0 ? "準點" : "<span style='color:red'>誤點" + data[i].DelayTime + "分鐘</span>"
                            Direction = data[i].Direction == 0 ? "順行" : "逆行";


                            $('#tb1').append("<tr><th>" + data[i].StationName.Zh_tw + "</th><th>" + data[i].TrainNo + "</th><th>" + data[i].TrainTypeName.Zh_tw + "</th><th>" + TripLine + "</th><th>" + Direction + "</th><th>" + data[i].ScheduledArrivalTime + "</th><th>" + data[i].ScheduledDepartureTime + "</th><th>" + DelayTime + "</th></tr>");
                        }
                    }
                    $('#tb1').append("</tbody>");

                },
                error: function () {
                    alert('Error!!');
                }

            });
            
        }
        //updateData();
    </script>
</body>
</html>

補充

PTX有GITHUB/GITBOOK等開放服務

https://ptx.transportdata.tw/PTX/

https://github.com/ptxmotc/Sample-code

https://ptxmotc.gitbooks.io/ptx-api-documentation/content/

示範應用

https://ptx.transportdata.tw/PTX/Demo/Example

其實程式就是這個樣子做出來!

API串接的程式,客戶端可以直接執行,但是要有網路。

下午後端 webform 準備踏入 MVC

前段課程如果要刪除資料 實務上會一起刪除 ( 刪除明細後再刪除主要資料 )

同一個功能無法用webfome轉MVC

但能夠放在同一個專案裡面

MVC7個步驟但是是最多不是每次都7個

WebForm->MVC

要在WebForm內建立Model

藉由Entity Framework

直接操作資料庫

之前有學過(DataSouceControl、ADO.net

以下使用 空白專案同時建置 使用ADO.net串接資料庫

演示 Webform 變 MVC

建置環境

MVC

1模型從資料庫來

2空的要自己畫模型

3沒有資料庫也沒有模型但用編程方式建立模型產生資料庫??

4利用現有資料庫建立code產生模型

Webfome 透過 Entity做新刪修

Gridview 讀資料 現在開始讀寫都不會用到sql而是entity

以上截圖僅為參考需要考慮其原理更改自訂id等等…

如果有問題最好直接整個方案刪除一步步重來

完成 ADO.net 繫結後

需要建置編碼

題外話:

指標

堆疊演算法

主板頁面概念 Contentplaceholder 控制項

Bootstrap UI介面 3.4.1 (版本很重要不可互用)

有

無

Index.aspx

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server"></asp:GridView>

        </div>
    </form>
</body>
</html>
###Index.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MVC1.Models;

namespace MVC1
{
    public partial class Index : System.Web.UI.Page
    {
        dbProductEntities db = new dbProductEntities();

        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = db.tProduct.ToList();
            GridView1.DataBind();
        }
    }
}

Index2.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Index2.aspx.cs" Inherits="MVC1.Index2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <h2>產品列表</h2>
    <p>
        <a href="Create.aspx">新增產嘽品</a>
    </p>
    <asp:GridView ID="GridView1" runat="server" CssClass="table" AutoGenerateColumns="False" GridLines="None">
        <Columns>
            <asp:BoundField DataField="fId" HeaderText="產品編號" />
            <asp:BoundField DataField="fName" HeaderText="產品名稱" />
            <asp:BoundField DataField="fPrice" HeaderText="單價" DataFormatString="{0:C}" />
            <asp:ImageField DataImageUrlField="fImg" DataImageUrlFormatString="images/{0}" ControlStyle-Width="150px" HeaderText="圖示">
            <ControlStyle Width="150px"></ControlStyle>
            </asp:ImageField>
        
            <asp:TemplateField ShowHeader="False">
                <ItemTemplate>
                    <asp:LinkButton ID="lnkEdit" runat="server">編輯</asp:LinkButton>
                    |
                    <asp:LinkButton ID="lnkDelete" runat="server">刪除</asp:LinkButton>

                </ItemTemplate>

            </asp:TemplateField>
        
        </Columns>

    </asp:GridView>

</asp:Content>

Index2.aspx.cs

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

namespace MVC1
{
    public partial class Index2 : System.Web.UI.Page
    {
        dbProductEntities db = new dbProductEntities();

        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = db.tProduct.ToList();
            GridView1.DataBind();
        }
    }
}

Site1.Master

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

namespace MVC1
{
    public partial class Index2 : System.Web.UI.Page
    {
        dbProductEntities db = new dbProductEntities();

        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = db.tProduct.ToList();
            GridView1.DataBind();
        }
    }
}

Site1.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="MVC1.Site1" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>農易旺</title>
    <link href="Content/bootstrap.min.css" rel="stylesheet" />
    <link href="Content/Site.css" rel="stylesheet" />
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">

        <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" runat="server" href="Index.aspx">產品管理系統</a>
                </div>
                <div class="navbar-collapse collapse">
                    <ul class="nav navbar-nav">
                        <li><a runat="server" href="Index2.aspx">產品列表</a></li>
                        <li><a runat="server" href="Create.aspx">產品新增</a></li>
                        <li><a runat="server" href="About.aspx">關於本站</a></li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="container body-content">
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        
        <hr />
        <footer>
            <p> &copy; <%: DateTime.Now.Year %> 農易旺版權所有</p>
        </footer>
        </div>
    </form>
</body>
</html>

Previous2019/0412/JQ動畫實做(寶可夢遊戲開場)&第四次專題報告Next2019/0416/安卓工作室UI控件案例結束、IDE Eclipse_Java物件導向基礎

Last updated 6 years ago

Was this helpful?

公共運輸整合資訊流通服務平台
Swagger UI
資料服務查詢 - 公共運輸整合資訊流通服務平台
Logo