2013年9月5日 星期四

FileUpload控制項「批次上傳 / 多檔案同時上傳」的範例--以「流水號」產生「變數名稱」

 

 

之前的兩個範例:

[C# / ASP.NET]FileUpload控制項「批次上傳 / 多檔案同時上傳」的範例(C#語法)

[VB / ASP.NET]FileUpload控制項「批次上傳 / 多檔案同時上傳」的範例 (VB語法)

 

 

昨天上課時,有個學員拿這個範例來與我討論,希望把寫法作一下修改:

 

==== HTML畫面設計 =====

    首先,進行HTML畫面的設計,

    多重檔案、批次上傳......在畫面上使用多個 FileUpload控制項,然後搭配一個按鈕控制項即可

    

 

==== 後置程式碼 =====

    初學者也可以乖乖地用五個 if判別式來作

    (一個 FileUpload控制項,就作一次,    程式碼不斷COPY 修改即可)。

    只要程式能順利執行,而且您又是剛剛入門的初學者......沒人敢說這樣做不好。

    以下是範例:

if (FileUpload1.HasFile)
{
          string fileName = FileUpload1.FileName;

          //……內容與上面範例相同,在此省略…… 

          FileUpload1.SaveAs(savePath);               
          myLabel.Append("<br>檔名---- " + fileName);
 }

if (FileUpload2.HasFile)
{
          string fileName = FileUpload2.FileName;
          //……省  略……
          FileUpload2.SaveAs(savePath) ;     
}

if (FileUpload3.HasFile)
{
          string fileName = FileUpload3.FileName;
          //……省  略……
          FileUpload3.SaveAs(savePath) ;     
}

//……以此類推……  這種Copy / Paste的作法很累吧~

 

學生(初學者)還在學習中,所以寫出上面的程式,我不會責怪他,畢竟能正確執行更重要。

但如果進入業界,還用這種 Copy / Paste的方法來寫程式,可能會被前輩「唸」一頓

 

****************************************************************************************************************************

第一次改良:

    學員原本提供的作法:

    protected void Button1_Click(object sender, EventArgs e)
    {
        //== 方法一。 ==========================================
        BatchFileUpload(FileUpload1);  //==自己寫的function
        BatchFileUpload(FileUpload2);
        BatchFileUpload(FileUpload3);
        BatchFileUpload(FileUpload4);
        BatchFileUpload(FileUpload5);
    }


    //***********************************************************
    protected void BatchFileUpload(FileUpload myFL)
    {
        String savePath = @"d:\temp\uploads\";

        if (myFL.HasFile)
        {
            String fileName = myFL.FileName;

            savePath = savePath + fileName;
            myFL.SaveAs(savePath);

            Label1.Text += "上傳成功,檔名---- " + fileName;
        }

    }

 

上面的作法是把重複的程式,寫成一個 function來呼叫

不斷地傳入「FileUpload控制項」就能完成多重檔案的上傳。

 

 

****************************************************************************************************************************

第二次改良:

    上述的範例,可以利用 「流水號」產生「變數名稱」 來縮減

 

    protected void Button1_Click(object sender, EventArgs e)
    {
        //== 兩種作法,任選其一 ===================================
 
        //== 方法一。 ==========================================
        // BatchFileUpload(FileUpload1);  //==自己寫的function
        // BatchFileUpload(FileUpload2);
        // BatchFileUpload(FileUpload3);
        // BatchFileUpload(FileUpload4);
        // BatchFileUpload(FileUpload5);
 
        //== 方法二。改寫如下 =====================================
         //== 透過  for 迴圈,以字串相連的方式,做出流水號(連號)的 「變數名稱」
 
        for (int i = 1; i <= Request.Files.Count; i++)
        {
            //***************************************************************
            FileUpload myFL = (FileUpload)Page.Form.FindControl("FileUpload" + i);
            //***************************************************************
 
            BatchFileUpload(myFL);  //==自己寫的function
        }
    }
 
 
    protected void BatchFileUpload(FileUpload myFL)
    {
        //-- 註解:先設定好檔案上傳的路徑,這是Web Server電腦上的目錄。
        //       C#語法在撰寫磁碟的目錄位置時,請留意以下的寫法:
        String savePath = "d:\\temp\\uploads\\";
 
        if (myFL.HasFile)
        {
            String fileName = myFL.FileName;
 
            savePath = savePath + fileName;
            myFL.SaveAs(savePath);
 
            Label1.Text += "<br />上傳成功,檔名---- " + fileName;
        }

 

上面的作法(以「流水號」產生「變數名稱」

    在書本「上集」的聊天室、多重檔案上傳

    書本「下集」的自動化投票區,都有用到相同的技巧。

 

從以前的 ASP到目前的 ASP.NET,包含 PHP與 JSP,我都測試過。   這個技巧都通用!

 

 

 

2012/9/5補充:另外一種作法,請參閱  http://www.allenkuo.com/userfiles/share/2012q3/2012-8-28_08-28-10.png

 

 

另外提供一個很棒的 FileUpload範例,也提到 .ashx的作法(作者:Y2J)

 

 

 --------------------------------------------------------------------------------------------------------------------------------------------

  • 2008/8/11補充:感謝 Nick網友的回應,在MasterPage底下,這段程式會出現一些錯誤。
  • 只有一行必須修改成----
  • myFL = CType(Me.Master.FindControl("ContentPlaceHolder1").FindControl("FileUpload" & i), FileUpload)

Nick網友修改後的範例:Project.rar

 

 

[課程大綱]ASP.NET入門實戰+ADO.NET進階班(七週),教學內容

ASP.NET課程, 補習, 入門班, ASP.NET, VB入門, C#入門, 初學者課程, 簡單學習ASP.NET,
快速上手ASP.NET, 無痛入門,ASP.NET入門,第一次學習ASP.NET就上手, ASP.NET名師,



或許您覺得沒什麼......
      入門有什麼了不起?    ASP.NET有什麼了不起?

但是,想想看:
     為什麼全台補習班都很難開課、很難招生,「只有」這個老師的 ASP.NET課
                  幾年來,台北、台中每班都成功?甚至 "額滿"?

     為什麼 ASP.NET的入門書、範例書,「只有」 這個老師的書 五年來,年年熱賣?

     為什麼 「只有」 這個老師的班級,能吸引「業界工程師」來上課? 從頭開始、從入門學起?
           難道 業界的程式設計師 很笨嗎?不會去找別的連鎖補習班,堅持要找這位老師

     為什麼 「只有」這個老師 開的 ASP.NET課程 (台中市電腦公會、職訓局),需要早起上網、搶著報名
                    為什麼名額能瞬間秒殺?當天額滿?(難道是五月天的演唱會,要排隊搶門票?是連續假期搶訂車票?)

你不是學不會,是找錯人、上錯課!
    你不是學不會,是找錯人、上錯課
        你不是學不會,是找錯人、上錯課!

=================================================================
課程一共七週(49小時)    每天上課 09:00 ~ 17:00

    ASP.NET 入門實戰班(五週),搭配書本 上集。
    ADO.NET   進 階 班(兩週),搭配書本 下集。

本課程採用雙語法教學,每一個範例的重點 VB / C# 都會提及。



ASP.NET課程 / ASP.NET教學,請看
    http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

    [台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr


ASP.NET影片、遠距教學,請看:
    http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx

    [遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!




週  數
課程內容(每班學員程度不同、課程進度將略做調配) 對應書本章節
第一週 初學者的兩大FAQ(常見問題)
  • 哪裡有適合 "初學者"的 Visual Studio軟體操作書籍?
  • 我不會寫程式,請介紹 "基礎語法"的書?...第一天就破解您「不會寫程式」的盲點(心結)
過了第一天,保證您不會再問這兩個問題。

ASP.NET的革命與網頁程式的特點。
ASP.NET網頁的特殊之處與傳統網頁的差異?
Response與Request,網頁程式的魔術(藝術?)-- 字串相連。
基礎語法,夠用、善用就好,學多了沒用!只要 "兩招"可以打遍各種範例!
PostBack與觀念,讓您大吃一驚的奇怪範例。....第一天上課 好評最多的一場表演!
Visual Studio操作技巧、「專案」與「網站」的差異?
ASP.NET基礎控制項:
  • AutoPostBack屬性,事件裡面的參數 sender與 e是做什麼用?
  • String.Format()太好用,例如:{0:C}。
  • 清單控制項(List Control,單 / 複選)
  • 不用人教,自己靠經驗,舉一反三學會日曆控制項。
  • 超過150頁的範例,全台灣最豐富的內容、範例!
  • 各種控制項該搭配哪些程式碼?全都為您準備妥當。
  • 哪些控制項可以做出「變形功能」,一一示範。
上集 Ch.2~3
第二週 資料庫入門,資料表與欄位的說明,T-SQL指令。
Windows Azure雲端資料庫 示範與入門。
大型控制項 + SqlDataSource,保證精彩的各種變形、應用:
  • DetailsView + GridView,依靠自己經驗,不用人教就學會FormView。
  • 樣板(Template)與進階技巧,DataBinding Expression。
  • 大型控制項在同一網頁的互動。包含Master-Details(主表明細)、蘋果日報的新聞網頁、搜尋引擎...等等。
  • 不同網頁,透過URL互動
  • 關連式資料庫,不用寫程式就能做好「訂單系統」的報表。(學會這招,再來跟我說:你控制項的設定能力很強了)
好多學員都說:沒上過老師的課,不知道 "大型控制項"能做出這麼多東西?

為什麼其他書、其他老師不講這些重點?難怪學不會。
  • 驚奇!原來大型控制項有Bug,如何突破?....瞭解後,您才知道自己寫程式真的重要!
  • DataBinding原來是這樣,終於領悟。
  • SqlDataSource可以這樣用?不可思議!人人想學的絕招。
上集 Ch.5~9
第三週 徹底解析大型控制項的原理。100% 動手寫程式,瞭解GridView各種功能。
  • GridView各種事件的解析(分頁、編輯、排序、更新、刪除...等等),讓您動手寫程式瞭解其中奧秘。
  • GridView各種事件的「參數 e」是什麼意思?...動手做,三分鐘立刻懂!
  • CommandName是什麼東西?
  • 不用人教,自己靠經驗,舉一反三學會 ListView控制項。而且做出原廠做不到的功能
  • 唯有親自動手寫程式,才能瞭解 DataBinding的奧義!原來如此啊~
初學者的第一個大門檻 -- .FindControl()方法、.Controls集合與範例應用。
    學通之後,您可以千變萬化。
ADO.NET 四大基礎範本,打通任督二脈。
  • 超過 200頁的ADO.NET範例,全台灣最豐富的教學內容!比市售 ADO.NET專書還豐富。
  • DataReader + SqlCommand
  • DataSet + SqlDataAdapter / DataTable
  • EntLib(企業函式庫 的 DAAB)簡介
  •  
  • 只學會一招,我竟然能做出「跨平台」的資料庫程式? Web Form + Windows Form
  • 自己動手寫分頁程式,從資料來源做好分頁。
  • 不可思議!DataReader可以做分頁?Repeater控制項有分頁?
每一個書上解說的"抽象"觀念、您在MSDN網站看不懂的"火星文"說明
在這堂課裡面,通通有範例、有程式碼讓您測試、修改!  眼見為憑!動手為真!
上集 Ch. 10
  Ch.13~14 (ADO.NET)
第四週
(ADO.NET
進階班)
自己動手寫首頁、主表明細(100%的 ADO.NET程式)。
  • 如何搭配複雜的美工網頁,改成ASP.NET版?
  • 文章如何呈現換行(換列、分段落)?文章的點閱率、留言板(關連式資料表)...等等。
jQuery UI如何與 ASP.NET網頁搭配?30分鐘做出Yahoo首頁的效果。
CKeditor / FCKeditor網頁版的 Word操作畫面、線上HTML編輯器(引用第三方的元件、DLL檔)。
自己寫出 ADO.NET "多欄位" 的搜尋引擎。SqlDataSource為何做不到?
看書學不會,現場30分鐘就出師? Web Service(網路服務)與 WCF服務
ADO.NET的DataBinding(資料繫結)與 DataBinding Expression(繫結運算式)
上集 Ch. 13~14 / 20
下集 Ch. 6 / 8 / 9~10
部分範例只有上課才教授,書裡沒有。
第五週
(ADO.NET
進階班)
動手改造「自己專屬」、「獨一無二」的大型控制項。
  • 三個範例學會 GridView的 RowDataBound事件e.Row.RowType(上集最經典的範例!)
  • 原來只要一招,就能學會GridView 72絕技?
    是的,您出師了!而且舉一反三,各大控制項都能這樣用!
Calendar的千變萬化,透過DayRender事件,自己打造個人行事曆
   
(Calendar控制項 + 資料庫。本範例有人出價一萬元收購!
這門課您將會學到「一則心法」,那些高手是如何自我學習?從頭練起?....只有上課的學員才能體會。
狀態管理與會員登入(使用Session)
  • 各種特別的技巧與修正。
  • 物件導向入門,動手寫一個類別檔吧!
  • SQL Injection(資料隱碼、數據注入)攻擊與防範,ADO.NET參數(Parameters)的程式撰寫。
  • 聊天室(透過流水號,自動產生變數)
會員登入後,依照不同權限產生畫面(下集的經典範例在此!)
  • GridView的 RowDataBound事件在這裡玩給你看。 e.Row.RowType與 RowState。
  • PlaceHolder,動態加入ASP.NET控制項。
資料庫交易(Transaction)與 網頁輸出快取(@ Output Cache)
上集 Ch. 3 / 11 / 16
下集 Ch. 7 / 12
部分範例只有上課才教授,書裡沒有。
第六週 UC(使用者控制項)、大腸包小腸(巢狀GridView)
GridView一些特殊的事件與範例。
  • 動態加入JavaScript與 CSS特效。
  • 合併欄位、自訂表頭...等。
網頁與 Excel綜合範例:
  • 傳統作法輸出Excel檔、Jet.OleDb讀取Excel檔。
  • NPOI輸出 Excel檔案(引用第三方的元件、DLL檔)。
  • ADO.NET讀取資料庫並產生 Exce報表。
跨網頁張貼(Cross-Page Post,跨網頁公布),上一頁(PrevieousPage)與公開屬性。
從頭到尾,完成訂單系統的輸入流程(瞭解大型控制項+SqlDataSource的限制在哪?)
驗證控制項(Validation Control / Validator)與正規表達式入門。HTML5可能帶來的變革?
上集 Ch. 4 / 11 / 15
下集 Ch. 13~14
第七週 檔案上傳、FileUpload各種變形與必備範例。
  • 上傳檔名重複,自動更換檔名。
  • 限制上傳檔案(副檔名)、限制上傳容量的大小。
  • 相關的程式小技巧。
多重檔案、批次上傳(透過流水號,自動產生變數)(上集最經典的範例!)
NPOI 搭配 FileUpload讀取 Excel檔
FileUpload + DB + ListView(PChome相片化的首頁、電子相簿範例)
  • 上傳圖片如何存入資料庫?兩種方法,哪一種好?
  • .ashx(泛型處理常式),圖片預覽、讀取資料庫內二進位的圖片內容。
AJAX與 UpdatePanel。
  • 自己寫程式做到AJAX功能、Timer的 Tick事件。
  • 範例:AJAX線上戰情室(圖片切換與ADO.NET的配合)
  • MSDN的範例(微軟出錯,我來修正)。本課程獨有「獨一無二的設定,一招必殺。」。
  • 不可思議的AJAX GridView購物車(微軟給的範例,超讚!)
  • AJAX Toolkit安裝與入門。
上集 Ch. 17 / 18 / 19

師資經歷:
微軟MVP獎得主(自2008年起)
資策會(南區)前任講師
ASP.NET暢銷書作者(台北市 天瓏書局譽為「唯一熱賣」、「常年熱銷」。PChome書店 2011/2012年度暢銷電腦書 ,我的書 上/下兩集都入榜)
美國商業週刊名列「全球百大科技業」技術經理,具有實務經驗(白天仍在上班),絕非坊間補習班聘用的廉價講師
我(MIS2000 Lab.)親自為您授課!
上課時數更多!  
    價錢卻更便宜!(只要大型補習班的 六折 起)  
         師資更強!

有了這三大保證、三大特點
您還不報名,在等什麼?....... 請來信   mis2000lab (at) yahoo.com.tw   (at)就是@的意思

我要報名!,請點選下圖。



[習題]日曆(Calendar)控制項的障眼法(.Visible屬性),使用時才出現?不用就消失?

 

 

昨天上課時,學員發問的問題

作法非常簡單。

 

還是透過 .Visible屬性(現形?隱形),簡單的說,就是障眼法!

 

執行成果如下:

首先,您看不見日曆控制項。

      

 

必須按下「日曆小圖示」,才會出現日曆控制項喔!

然後可以點選日曆,代替自己輸入日期。

      

日期會自動帶入TextBox裡面(這個作法,書本上有了)

 

 

 

這個範例完全沒有技巧,只要拼拼湊湊就能完成

 

昨天上課,沒有教日曆控制項,

    直接靠「經驗」,自己把玩就能做出很多功能。

    這種「自我學習」的方式,面對新技術才會輕鬆......

 

想知道這些學員「上課第一天」就瞬間提升功力的秘訣嗎?......來上課吧!!

 

ASP.NET控制項,讓您「做得更多,寫得更少」

 

您也可以利用 jQuery UI做到類似的功能,請看:http://jqueryui.com/datepicker/

(名為 DatePicker)

 

這裡可以找到很多可愛的日曆小圖示,請看:http://www.iconpng.com/tag/%E5%8F%B0%E5%8E%86

 

 

 

HTML畫面設計:

        請輸入日期:<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True"></asp:TextBox>
 
        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="您找到的小圖片"
                OnClick="ImageButton1_Click"  />
        <br />
        <br />
 
        <asp:Calendar ID="Calendar1" runat="server" Visible="False"
                 OnSelectionChanged="Calendar1_SelectionChanged"></asp:Calendar>
        (請事先設定Calendar的 .Visible = false,隱形)<br />
        <br />

 

後置程式碼如下:

    (VB只要在程式後面,不加 "分號(;)"即可)

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        Calendar1.Visible = true;    //看得見!現形!
    }
 
    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        TextBox1.Text = Calendar1.SelectedDate.ToShortDateString();
 
        Calendar1.Visible = false;    //選完日期後,看不見!隱形!
    }

 

 

 

 

SQL Server 交易式複寫 (Transactional Replication)--學習心得 與 設定重點

簡單的說,有兩台DB
第一台,稱為「發行者」(Distribution / 資料的主要來源)。
第二台,稱為「訂閱者」(Subscription)。接受第一台DB複製過來的資料。

先依照自己的情況,挑選一種複寫方式。
我想,不少需求都是第一種「交易式複寫」便能搞定。 

1. 交易式複寫 *
交易式複寫一般用於伺服器 對 伺服器環境,並適用於下列各案例:
    ‧您希望發生累加式更新時,能立即傳播給「訂閱者」。
    ‧應用程式在發行者進行變更的時間與變更到達訂閱者的”時間”需要有低度延遲
    ‧應用程式需要中繼資料狀態的存取權。例如,若資料列變更五次,交易式複寫允許應用程式回應至每個變更 (如引發觸發程序),而非只有回應至資料列的資料變更。
    ‧發行者有極大量的插入、更新和刪除活動。
    ‧發行者或訂閱者為非 SQL Server 資料庫,如 Oracle。

依預設,交易式發行集的訂閱者應當成唯讀處理,因為變更並不會寫回發行者。


2. 合併式複寫
合併式複寫通常會在 伺服器 至 用戶端環境中使用。
合併式複寫適合於下列任何情況:
    ‧多個訂閱者可能會在不同時間更新相同的資料,並將這些變更傳播到發行者與其他訂閱者。
    ‧「訂閱者」需要接收資料、離線變更資料,稍後同步變更「發行者」和其他「訂閱者」。
    ‧每個訂閱者需要一個不同的資料分割。
    ‧可能會發生衝突,而在發生衝突時,您需要偵測與解決衝突的能力。
    ‧應用程式需要淨資料變更,而非對中繼資料狀態的存取。例如,如果資料列在「訂閱者」與「發行者」同步之前,於「訂閱者」端變更了五次,則該資料列只需在「發行者」端變更一次,以反映最終資料變更 (即第五次的值)。

合併式複寫允許各站台自發地工作,然後將更新合併到單一的統一結果。


3. 快照式複寫
若下列一或多項敘述為真,則最適合單獨使用快照式複寫:
    ‧較少變更資料。
    ‧可接受已過時的發行者相關資料副本放置一段時間。
    ‧複寫小量資料時。
    ‧在短時間內發生大量變更。

資料變更數量可觀  但次數不頻繁時,最適合快照式複寫。


***************************************************************************************************************************************
有一些相關的文章,可以先參考一下。
網友的經驗談、安裝步驟都有圖片說明了。話雖如此,我還是買了幾本書先看過一遍。

***************************************************************************************************************************************

當然,微軟有一份說明也很詳細。步驟最明確!


我是依照 "微軟的教學課程" 來做實驗,個人心得如下
   無法保證正確,因為我不是網管與DBA高手。但我做了很多次,這是成功經驗
================================================
1.  文件中提到的多個帳號,我只用了一個就能完成。
    重點,這個帳號必須在兩台DB都有權限最好設定 "高"一點,以免後續步驟的執行權限不足

2. 發行者(第一台DB),資料的主要來源。這個資料庫請設定為 sa,以免後續步驟的執行權限不足
    點選這一個資料庫,按下"滑鼠右鍵"並選「屬性 Property」
    畫面左側的 Menu,請選第二個 Files。
    然後在畫面右邊的第二格,請輸入 sa(原本可能寫 default).....微軟上面的教學文章沒有提到這一點

執行權限不足,是我十餘次設定中最常發生的錯誤。 
另外幾個「權限設定」在微軟的教學文章中有提到。只要沒有漏了做,應該都能運作。
...........................完成了上面兩個重點(微軟教學文章中沒有提到),就OK啦!

3. 本文一開始收錄的相關BLOG文章,其他網友、前輩都會自己寫SQL Script來做設定。
    微軟教學文件中、我自己的設定經驗,發覺這並非必要條件。
    只要依照微軟的教學文章,畫面上的精靈步驟逐一做好,效果是一樣的。
    精靈設定,完成後一樣可以產生SQL Scriipt,我有拿出來其他前輩的寫法作比對,100%雷同。

4. "似乎(我不確定)"只能複寫「資料表(Table)」
    設定過程中,我把 View、Stored Procedure打勾以後,都會造成失敗。
    網路上看見的設定步驟(包含微軟教學文件),都 "只有" 勾選「資料表(Table)」

5. 「資料表(Table)」必須要有主索引鍵(P.K. / Primary Key)
    不然的話,不能勾選(不能複寫到別人身上)


我想,不少需求都是第一種「交易式複寫」便能搞定。 
    小型的資料庫(例如幾百MB的 .mdf檔),延遲時間大約只有一秒 (Intranet裡面比較快)。
    稍微大一點的資料庫(例如20GB的 .mdf檔),延遲時間則可能到達十餘秒才能複寫過去(如果是 Internet不知道會不會更慢?)
但效果已經不錯了。

資料庫的大小,跟運作時間有正相關。
    在建立(設定)時、或是重新 run一次快照(snapshot)會很花時間
    我曾經放置一天就發現 複寫的Agent壞了,必須重來一次(重新做  Reinitialization才恢復)

如果做壞了,想要重新設定「複寫」(把原本的設定刪除)
有時需要重新啟動SQL Server服務才能將步驟重做一次


== 結 論 ==
    設定很簡單......微軟的產品與設定,大家不用擔心
    重點是 發生問題時該 怎麼處理?

    書上都沒講到(這些 "經驗" 比較寶貴,但比較難取得)


因為網管、DBA這部分我不熟悉,初學的時候,比較難下關鍵字
所以常常 Google不到資訊,但是在對岸的百度(http://www.baidu.com/就很容易查到東西

2013年8月20日 星期二

[ASP.NET].ashx泛型處理常式,簡易入門&範例

檔案上傳(FileUpload)之後,如果把圖片、檔案存入資料庫裡面
想要取出來,恢復成一般的圖片?

常常在書本上、在網站範例上,看見人家使用 .ashx檔來處理。

到底什麼是 .ashx檔?泛型處理常式?
    到底什麼是 .ashx檔?泛型處理常式?
        到底什麼是 .ashx檔?泛型處理常式?


除了「理論說明」之外,我想把我自己的學習方式,分享給初學者。
這是另外一種「自己教會自己」的學習法則(心法)。
如果對您有幫助,我也很開心。


原文請看我的網站



ASP.NET課程 / ASP.NET教學,請看
    http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx

    [台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr


ASP.NET影片、遠距教學,請看:
    http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx

    [遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!


2013年8月15日 星期四

ASP.NET 4.5專題實務(上下兩集),這裡買最便宜

[PChome]兩集合購,大特賣! (ASP.NET 4.5專題實務)...買兩本 再打 76折! ......2013/9/13截止 
 
現場買書,天瓏書局最便宜! 
 深入閱讀


便宜!真便宜!
**************************************************************
    網路買書,PChome勝!1,213元,免運費,24hr到府! 2013/9/13截止
    門市買書,天瓏書局,勝!只要1,200元  還有 贈品 喔~   2013/9月底截止
**************************************************************


不可思議的低價!  ...... PChome拼了
     特價以後,買兩本  打 76折!    
        免 郵資,信用卡可分期!


                  上 / 下兩集,都在 PChome購買,活動期間可以多折 51元!約為1213元

 
微軟MVP的ASP.NET 4.5專題實務II:範例應用與4.5新功能|MIS2000 Lab. 周棟祥、吳進魯|9789572241721/9572241729|松崗
 
$820 79折 $648 
 
 
 
微軟MVP的ASP.NET 4.5專題實務I(VB入門實戰篇)|MIS2000 Lab. 周棟祥、吳進魯|9789572240724/9572240722|松崗
 
$780 79折 $616 
 
 
 
微軟MVP的ASP.NET 4.5專題實務I-C#入門實戰篇|MIS2000 Lab. 周棟祥、吳進魯|9789572240601/9572240609|松崗
 
$780 79折 $616 
 
 
 


............................................................................................................................................................
PChome 在活動期間,兩集合購,是所有網路書店 的 最低價!
大台北地區的朋友直接前往「門市」買書,
            仍是天瓏書局最便宜(只要1200元)還有 贈品 喔~


天瓏書局(也是上下兩集,超商取貨  免運費!

ASP.NET 4.5 專題實務 系列書籍 任兩本 75折 = 1200元!最便宜!
    再加碼送『氣球兔提袋』或『讀卡機』,贈品數量有限,送完為止!
 
 
※此為"門市購書"活動,網路書店恕無參與。 活動時間:即日起至2013年9月30日止。

==== (天瓏)網路書店 ================================================
上集(內容相同,請挑您熟悉的語法)593元  超商取貨  免運費!

   


下集(雙語法)  623元  超商取貨  免運費!


2013年8月12日 星期一

開賣!下集 -- ASP.NET 4.5 專題實務(II)-範例應用與 4.5新功能【VB/C# 雙語法】

您好,這是我的文章備份

開賣!下集 -- ASP.NET 4.5 專題實務(II)-範例應用與 4.5新功能【VB/C# 雙語法】


全台灣最專業的電腦書店 -- 天瓏書局
已經開賣了!

感謝天瓏書局一次購買 500 本,歡迎採購!

Xp13157

微軟 MVP 的 ASP.NET 4.5 專題實務 [II]-範例應用與 4.5 新功能

【VB/C# 雙語法】

MIS2000 Lab. 周棟祥、吳進魯

  • 出版商:松崗
  • 出版日期:2013-08-08
  • 台幣定價:
  •  
  •  
  •  
  •  
  •  
  • $820
  • 售價:7.6 折 $623
  • 語言:繁體中文
  •  
  • 頁數:1096 !!! (另有 五章 PDF電子書放在光碟內)
  •  
  • ISBN:9572241729
  • EAN:9789572241721


虧大了!五章的內容放在PDF電子書,隨光碟附贈!
這幾章 印出來 又是一本新書啊!

這本書已經衍生到第三代!
每一本的內容、範例,都有成長,都持續更新。

希望每一位(舊)讀者,買了新書都不覺得吃虧!


本書(下集)有哪些新增的內容、範例???