台灣最大程式設計社群網站
線上人數
749
 
會員總數:245214
討論主題:189087
歡迎您免費加入會員
討論區列表 >> 專欄文章 >> .NET的acsx 與 aspx 副檔名介紹
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
.NET的acsx 與 aspx 副檔名介紹
價值 : 0 QP  點閱數:1841 回應數:1

樓主

E-Troy 版主
初學者
80 52
283 11
發送站內信

副檔名 - acsx 與 aspx的關係「就是把元件放在 ascx 上,然後在 aspx 裡使用」,在 ascx 裡放入 DataGrid 然後在 aspx 裡呼叫,並以 findcontrol 方式來連結設定相關的屬性。

相關的動作
1.增加 WebUserControl (ascx) 檔案
2.在 aspx 裡註冊使用 ascx
3.利用 findcontrol 對應 ascx 裡的元件

##增加 WebUserControl (ascx) 檔案 ##

增加「Web 使用者控制項-WebUserControl」



然後在 WebuserControl 裡放入你要使用的元件,例如我放入的是「DataGrid」所以增加下面這行程式碼:



## 在 aspx 裡註冊使用 ascx ##
1. 在 aspx 前頭宣告部份增加:

載入的檔名、TagName 都可以自行設定。

2. 在 aspx 的 body 裡,在你想放元件的地方,插入下面這行:


## 利用 findcontrol 對應 ascx 裡的元件 ##
元件是放在 ascx 裡,所以在 apsx 裡要應用就必須先用 findcontrol 把他對應起來,底下的例子,是將 findcontrol 的動作寫在 page_load ,然後指定 SqlDataSource 接著 bind 起來。

Master Page 可以用來設計通用的版面樣式,只要修改 Master page 底下所有的內容表單都會連動變更,這樣可以省時省力的修改頁面的樣式

相同的,如果許多頁面都含有 DataGrid 或 Gridview 之類的元件,這些元件會有搭配的顏色及對應的樣式。將元件放到 ascx 裡並設定樣式,只要修改 ascx 裡樣式,所有引用的頁面都會一起就做修改,主版面色系一改,就不用將所有的 DG、GV 都一起就做修改

即使有多種的樣式,都一樣可以放在 ascx 裡,然後再各別給名稱就即可。


搜尋相關Tags的文章: [ acsx ] , [ aspx ] , [ 教學 ] ,
本篇文章發表於2015-09-11 13:25
== 簽名檔 ==
上帝的藝術-電腦神手的領域 - http://etroy.pixnet.net/blog
上帝的藝術-微軟的神域 - http://etroy-com.blogspot.tw/
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
這文章看起來是最近的, 擷取的畫面也有mvc4, 所以應該不會是十年前的文章
1.
由於asp.net 1.X時的DataGrid 控制項已經在 asp.net 2.0(2005年左右)就從工具箱取消了, 建議改用GridView

2.
您提到的插入usercontrol的步驟是先宣告
<%@ Register TagPrefix="wuc" TagName="wuc1" Src="~/WebUserControl1.ascx" %>
再手寫
<wuc:wuc1 ID="wuc1" runat="server" />

但其實只需要在vs裡將ascx檔案拉進網頁就可以了, 不必真的手寫

3.
最後一段的程式碼雖然看起來可以run,但其實觀念不太對,寫成下面的即可, 不必宣告時先new一個,然後立刻又不要它了
protected void Page_Load(object sender, EventArgs e)
{
DataGrid gd1= (DataGrid)wuc1.FindControl("gd");
gd1.DataSource = SqlDataSource1;
gd1.DataBind ();
}

4.
>>如果許多頁面都含有 DataGrid 或 Gridview 之類的元件,這些元件會有搭配的顏色及對應的樣式。將元件放到 ascx 裡並設定樣式,只要修改 ascx 裡樣式,所有引用的頁面都會一起就做修改
這其實不太容易, 因為不同網頁雖然都需要用到GridView,但其實需要的邏輯與欄位都不同, 因此無法很簡便地在多個網頁共用一個usercontrol
如果需要用相同外觀,可以使用theme/Skin

本篇文章回覆於2015-09-16 09:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.