使用者控制項 UserControl ascx

使用者控制項建立模組

廖尉村 2017/12/30 15:27:51
929

使用者控制項建立模組


簡介

系統開發在不同頁面有重覆程式, 建立使用者項制項讓程式可重覆利用.

作者

廖尉村


一. 建立使用者控制項
  
  
 
使用者控制項頁面上加入Html範例:
< table >

    <tr>

        <td>

            <asp:Label ID="lblSelectImportFile" runat="server" Text="Select Import File"></asp:Label>

        </td>

        <td align="left" style="width: 403px">

            <asp:FileUpload ID="FileUpload" runat="server" Width="400"  /></td>

    </tr>

    <tr>

        <td align="center" style="height: 35px" colspan="2">

            <asp:Button ID="btnFileUpload" runat="server" Text="上傳" OnClick="btnFileUpload_Click"/>

        </td>

    </tr>

</table>

使用者控制項建立事件

protected void btnFileUpload_Click(object sender, EventArgs e)

{

  string fileName = "";

  StringBuilder strHtml = new StringBuilder();

  string uploadPath = Server.MapPath(System.Web.Configuration.WebConfigurationManager.AppSettings["UploadFilePath"]);

  fileName = uploadPath + "PreCompareImport_" + System.DateTime.Now.ToString("yyyy-MM-dd_hh_mm_ss_ffff") + ".xlsx";

  FileUpload.SaveAs(fileName);


}


二. 網頁上加入使用者控制


在方案總管中拖拉使用者項制項至aspx頁面,切到原始檔頁籤Html會多二段.

<!--上方會註冊使用者控制項-->

<%@ Register Src="wuc_Upload.ascx" TagName="wuc_Upload" TagPrefix="uc1" %>


<!--使用者控制項HTML-->

<uc1:wuc_Upload ID="Wuc_Upload1" runat="server" />




三. 使用者控制項連動網頁事件


1.網頁的使用者控制項中加入Click事件

<uc1:wuc_Upload id="Wuc_Upload1" OncClick="WebUserControl1_cClick"  runat="server" >

 
 
2.網頁程式Using與加入事件

using SCM.userControl;

protected void WebUserControl1_cClick(object sender, wuc_Upload.MyEventArgs e)

{

    //省略

}


3.使用者控制項宣告並加入事件

public class MyEventArgs : EventArgs

{}


public PageLangHelper m_PageLangHelper;


public delegate void MyClick(object sender, MyEventArgs e);


public event MyClick cClick;


private void WebUserControl_Click(object sender, MyEventArgs e)

{

    if (cClick != null)

    {

      cClick(sender, e);

    }

}


protected void btnFileUpload_Click(object sender, EventArgs e)

{

   //省略

}


結論:使用者控制項(UserControl)就跟類別(Class)一樣可以重覆使用, 當你在撰寫程式盡可能的模組化開發, 程式設計概念將常用功能做成模組, 將相同的分類放在同一區塊中, 重複使利UserControl程式在維運上也更加方便, 簡單來說模組化的程式碼搬到使用者控制項中, 網頁上引用使用者控制進來既可完成, 原先功能在頁面上輸入統編點擊查詢, 使用者控制項連動網頁事件章節, 在介紹使用者控制項完成工作後轉到網頁工作, 只要在網頁及使用者控制項中加入連動事件, 上傳檔案後就能連動原先查詢事件, 而使用者控制項提供上傳功能, 例如:上傳驗證、文件格式是否正確、檔案上傳刪除處理等等, 這些邏輯都可以放在使用者控制項之中, 在不同專案可以共用使用者控制項也方便維護程式。

廖尉村