老實說,VS提供這種懶人用的方便控制項,對我而言一點吸引力也沒有,一來彈性小,限制多,二來能夠達到一樣效果而且強太多的3rd party UI元件庫實在太多了(我個人覺得最棒的是Ext JS),實在沒必要使用VS提供的陽春元件。但秉持著學習的精神,而且當然 這是VS內建的控制項,整合上當然會比起使用外部元件庫來的方便許多。
首先,先在網站專案中新增一個新的項目:「網站導覽」,檔名叫web.sitemap,是個不折不扣的xml檔。
其xml的結構簡單說一下,以<siteMap></siteMap>為root,裡面包著<siteMapNode></siteMapNode>,然後裡面再繼續一層包一層<siteMapNode></siteMapNode>,就看你的網站架構怎麼樣,就怎麼做。
而<siteMapNode>有幾個屬性,最重要的是url,有填入後,在待會兒應用的巡覽控制項中就會有超連結可以點選,但注意,整份xml中在不同的siteMapNode中的url值不可以重覆!這我覺得實在不太合理,也太死板,不過既然以此為key,那我們也就照著做。

rexmen 發表在 痞客邦 留言(0) 人氣()

Master Page的概念,對沒接觸過ASP.Net的人而言是很陌生的東西,其實說穿了就有點像PHP用include或require將某些固定不更動的網頁做統一的設定,不用將那些不變的設計部份重覆散落在每一份網頁裡面。類似表頭,或頁尾一些公司資訊等等。
而Master Page是將不變的部份先做成一個MasterPage.master檔,在需要變動的部份置入ContentPlaceHolder元件,待產生新網頁時先與這個MasterPage做關聯後,再編輯可變動的部份。但這篇重點也不是在講解這些概念,只是在講如何從Content Page裡去修改到原本不會變動的Master Page資訊。
將Master Page看成是公共場所,而Content Page就像是在其中的私有領域空間。若是在Master Page中還是置入了一些ASP.Net元件,例如一個Label好了,在Content Page中去觸發某個動作(比如按了Button),想要去改到這個屬於公共場所的Label Text內容,作法如下。
在Content Page的Button_Click中,先使用Master.FindControl(string ctrlid)方法去找到該元件。回傳型別是Control類別,要做明確的轉型(當然你要明白知道自己在做什麼,該轉成何種類別,錯了編譯器也不會幫你debug),例如明確轉回Label類別。

rexmen 發表在 痞客邦 留言(1) 人氣()

當VS提供給你的一些驗證項目不符合你使用時,CustomValidator就可以派的上用場了。
在CustomValidator使用上,可做client端與server端的兩種驗證,先來講client端的驗證。
 
首先,假設我們有一個TextBox物件,並新增一個CustomValidator,將其ControlToValidate綁定好。

rexmen 發表在 痞客邦 留言(0) 人氣()

若依照原先自行設定的網頁移轉邏輯,希望A.aspx網頁經過一些處理後,希望跑到B.aspx網頁去。
有幾種作法:
透過程式端的寫法,可利用Server.Transfer("B.aspx"),直接在server端導向B.aspx去,此方法網址列不會改變。(還是A.aspx)
另一種程式端的寫法是用Response.Redirect("B.aspx"),這種作法是在client端執行(就如同使用javascript來轉址般),網址會改變。(變成B.aspx)

rexmen 發表在 痞客邦 留言(0) 人氣()

首先建立好ASP.Net網站後,若要最乾淨的,就新增一個空的網站。
建立完後,什麼都沒有,只有一個web.config檔。接著使用新增項目,新增一個Web Form,預設會將Code-Seperation功能開啟,也就是將視覺的.aspx檔和邏輯的.cs程式碼分開,用到的是class中的partial方法(反應在@page中的CodeFile屬性中),很多人會將Code-Seperation說成Code-Behind,這樣稱呼是有點問題的,因為Code-Behind是.Net 1.1之前的舊技術,後來改經改名叫Code-Seperation了,但大家很常會「混用」,但明白什麼意思就好了,細節在這就不多提了。
在Default.aspx中的第一行@page設定:
<%@ Page Language="C#" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="_Default" %>

rexmen 發表在 痞客邦 留言(4) 人氣()

home-hero-boxshot.png
真正開始使用Visual Studio大約是2005的版本,.Net 2.0。
之前在約9、10年前時,從.Net 1.0開始其實就趕著流行接觸了當初的軟體開發新寵,不過也都僅止於「有碰過」而已。老實說,我對於網頁開發的部份,實在很不愛這樣把visual design的部份,硬是拉到非網站視覺設計專業的VS來用,我覺得自訂的ASP.Net元件來強行介入html元件中,是很醜陋的開發方式。因為我喜愛使用Dreamweaver來設計網頁的視覺部份,但要再放入VS中去「改裝」,實在不是一種我喜愛的方式。因此我個人對PHP或Java的網頁開發方式一直有著莫明的偏好。當然我知道要將Dreamweaver設計的畫面整合到VS中,當然還是有方法,只是我覺得ASP.NET開發網頁的方式實在改變太多原本的習慣,讓VS插手太多東西,雖然最後VS還是會幫程式設計師將所有新開發模式的程式碼一個一個轉成最終browser能看的懂的html,但這種主控權被軟體搶走的感覺,讓我實在難以接受。VS .Net的出現,將網頁程式設計整個改變了,美其名讓程式設計師用另一種軟體開發的模式來開發網站,但我覺得他改變太多原本不在標準內的方式,讓完全沒開發過最原本網頁程式設計的新手來說,隱藏了太多他們原本該懂的事,而且也不需要讓他們懂,這樣會讓ASP.Net的新手開發人員習慣後,很難有能力去開發較為標準的設計方式。
因此在往後幾年,投入了Java的懷抱,配合Spring Framework來做MVC,開發出來的網站每一個部份都讓我有完全掌控的感覺,中心有著很踏實的感覺,該client端的,就用JS配合JQuery等等好好的來開發,該Server端的,就運用MVC架構將邏輯運算和視覺呈現切的清清楚楚的。這是我一直以來喜歡也習慣的方式。
  

rexmen 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。