Friday, March 2, 2012

Lesson 02: ASP.NET controls and events in webPart


 Exercises: Hiểu biết cơ bản về ASP.NET  trong SharePoint WebPart
·        Mở visual studio 2008 từ Start | Programs | Microsoft visual studio 2008
·        Tiếp tục với WebPartSoln
·        Chắc chắn 1 điều phải tồn tại
1.     Microsoft.SharePoint.dll  tồn tại trong WebPartSoln
2.     Biên dịch project không bị lỗi
Exercises 01: Hiểu biết cơ bản về ASP.NET  trong WebPart
·        Thêm mới Class Library Project với tên là: ASPNETMOSSControls
·        Add Reference | Browse | Microsoft.SharePoint từ folder  WebPartSoln
·        Add Reference | Browse |System.Web
·        Đổi tên Class1 thành BasicOfControls
o       Khai báo Using
using System.Web;
using System.Web.UI;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
o       Khai báo kế thừa từ Class WebPart (BasicOfControls:WebPart)
·        Mở folder Properties và chỉnh sửa trong file AssemblyInfo.cs
·        Xuống bên dưới file và khai báo attribute như 1 trong những cú pháp như sau
o       [assemblyAssemblyKeyFile("..\\hkgsolution.snk")]
o       [assemblyAssemblyKeyFile("..\\..\\hkgsolution.snk")]
o       [assemblyAssemblyKeyFile("..\\..\\..\\hkgsolution.snk")]
·        Build project chế độ Release và làm cho không còn lỗi
Exercises 02: Hiểu biết cách thêm control ASP.NET  vào trong WebPart
·        Tiếp tục với  ASPNETMOSSControls project
·        Mở Class BasicOfControls
·        Khai báo code trong phương thức CreateChildControls
§        Khởi tạo mới LiteralControl  tên là literalControl
§        Gán chuỗi “Hello ASP.NET Control” cho thuộc tính Text của literalControl
§        Thêm literalControl vào WebPart 
        namespace ASPNETMOSSControls

        {

            public class BasicOfControls:WebPart

            {

                protected override void CreateChildControls()

                {

                    LiteralControl literalControl = new LiteralControl();

                    literalControl.Text = "Hello ASP.NET Control";

                    this.Controls.Add(literalControl);
                    base.CreateChildControls();

                }

            }

       }
·        Thêm BasicOfControl.dwp
·        Build project chế độ Release
·        Deploy WebPart
o       Chép ASPNETMOSSControls.dll đến thư mục bin của C:\inetpub\wwwroot\.....\bin
o       Chép BasicOfControls.dwp vào  wpcatalog(phải tự tạo folder náy nhé nếu chưa có)
o       Thêm thẻ <SafeControl> trong web.config cho ASPNETMOSSControls assembly
<SafeControl Assembly="ASPNETMOSSControls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec47e7d9465cc36e"Namespace="ASPNETMOSSControls" TypeName="*" Safe="True" />
·        Quay lại sharepoint site
o       Thêm WebPart này đến WebPart page
o       Nhìn thấy “Hello ASP.NET Control” nếu không có lỗi
Exercises 03: Hiểu biết  về các phương thức  override chạy theo thứ tự
·        Tiếp tục với  ASPNETMOSSControls project
·        Thêm mới 1 Class tên: BasicOfMOSSControl.cs
o       Bạn đã khai báo using SharePoint namespace
o       Khai báo kế thừa từ Class WebPart
·        Khai báo code trong phương thức CreateChildControls
§        Khởi tạo mới LiteralControl  tên là literalControl
§        Gán chuỗi “Hello ASP.NET Control” cho thuộc tính Text của literalControl
§        Thêm literalControl vào WebPart
·        Khai báo code trong phương thức Render
§        Khai báo biến string tên là:  htmlTag và giá trị mặc định là :  chuỗi “Hello HTML Tag
§        Sử dụng phương thức WriteLine của đối tượng Write để ghi ra htmlTag
·        Thêm BasicOfMethod.dwp
·        Build project chế độ Release
·        Deploy WebPart
o       Chép ASPNETMOSSControls.dll đến thư mục bin của C:\inetpub\wwwroot\.....\bin
o       Chép BasicOfMethod.dwp vào  wpcatalog(phải tự tạo folder náy nhé nếu chưa có)
·        Quay lại sharepoint site
o       Thêm WebPart này đến WebPart page
o       Nhìn thấy “Hello ASP.NET Control”  hoặc “Hello HTML Tag”  nếu không có lỗi
Exercises 04: Hiểu biết  về cách sắp xếp các control ASP.NET trong WebPart
·        Tiếp tục với  ASPNETMOSSControls project
·        Thêm mới 1 Class tên: ArrangeControl.cs
o       Bạn đã khai báo using SharePoint namespace
o       Khai báo kế thừa từ Class WebPart
·        Khai báo code trong phương thức CreateChildControls
§        Khởi tạo mới LiteralControl  tên là literalControl
·        Gán chuỗi “Arrange ASP.NET Control” cho thuộc tính Text của literalControl
·        Thêm literalControl vào WebPart
LiteralControl literalControl = new LiteralControl();

            literalControl.Text = "Arrange ASP.NET Control";

this.Controls.Add(literalControl);
§        Khởi tạo mới 1 Table control tên là table
·        Gán thuộc tính cho table :Border,GridLine,….
·        Khởi tạo mới 1 TableRow control tên là tableRow
o       Khởi tạo mới 1 TableCell đầu tiên tên là: tableCell
§        Gán chuỗi “Keyword” cho thuộc tính Text
§        Thêm tableCell vào tableRow
o       Tiếp tục khởi tạo TableCell thứ 2 với biến tableCell
§        Khởi tạo mới 1 TextBox tên là: txtKeyword
§        Thêm txtKeyword control vào tableCell
§        Thêm tableCell vào tableRow
o       Thêm tableRow vào table
§        Thêm tableRow vào WebPart
    Table table = new Table();

            table.GridLines = GridLines.Both;

            TableRow tableRow = new TableRow();





            TableCell tableCell = new TableCell();

            tableCell.Text = "Keyword: ";

            tableRow.Cells.Add(tableCell);





            tableCell = new TableCell();

            TextBox txtKeyword = new TextBox();

            tableCell.Controls.Add(txtKeyword);

            tableRow.Cells.Add(tableCell);





            table.Rows.Add(tableRow);

            this.Controls.Add(table);
·        Thêm ArrangeControl.dwp
<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2" >
      <Title>ArrangeControl</Title>
      <Description>ArrangeControl</Description>
     <Assembly>ArrangeControl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec47e7d9465cc36e</Assembly>
      <TypeName>ASPNETMOSSControls.ArrangeControl</TypeName>
      <!-- Specify initial values for any additional base class or custom properties here. -->
</WebPart>
·        Build project chế độ Release
·        Deploy WebPart
o       Chép ASPNETMOSSControls.dll đến thư mục bin của C:\inetpub\wwwroot\.....\bin
o       Chép ArrangeControl.dwp vào  wpcatalog(phải tự tạo folder náy nhé nếu chưa có)
·        Quay lại sharepoint site
o       Thêm WebPart này đến WebPart page
o       Nhìn thấy TextBox control và text là “Keyword”  xuất hiện   nếu không có lỗi
Exercises 05: Hiểu biết  cơ bản của sự kiện ASP.NET control
·        Tiếp tục với  ASPNETMOSSControls project
·        Thêm mới 1 Class tên: EventOfControl.cs
o       Bạn đã khai báo using SharePoint namespace
o       Khai báo kế thừa từ Class WebPart
o       Khai báo LiteralControl tên là: literalControl (bên ngoài phương thức CreateChildControls) và giá trị mặc định là null
·        Khai báo code trong phương thức CreateChildControls
§        Khởi tạo mới 1 Table control tên là table
·        Gán thuộc tính cho table :Border,GridLine,….
·        Khởi tạo mới 1 TableRow control tên là tableRow
o       Khởi tạo mới 1 TableCell đầu tiên tên là: tableCell
§        Gán chuỗi “Keyword” cho thuộc tính Text
§        Thêm tableCell vào tableRow
o       Tiếp tục khởi tạo TableCell thứ 2 với biến tableCell
§        Khởi tạo mới 1 TextBox tên là: txtKeyword
§        Thêm txtKeyword control vào tableCell
§        Thêm tableCell vào tableRow
o       Thêm tableRow vào table
·        Khởi tạo mới 1 TableRow control với biến  tableRow trên
o       Khởi tạo mới 1 TableCell đầu tiên tên là: tableCell
§        Gán chuỗi “&nbsp” cho thuộc tính Text
§        Thêm tableCell vào tableRow
o       Tiếp tục khởi tạo TableCell thứ 2 với biến tableCell
§        Khởi tạo mới 1 Button tên là: btnSearch
§        Gán chuỗi  “Search” cho thuộc tính Text
§        Khai báo sự kiện Click của btnSearch và trong phương thức của sự kiện này bạn có thể gán thuộc tínhText của txtKeyword cho thuộc tính Text của literalControl
§        Thêm btnSearch control vào tableCell
§        Thêm tableCell vào tableRow
o       Thêm tableRow vào table
§        Thêm tableRow vào WebPart
public class EventOfControl:WebPart

    {

        LiteralControl literalControl = null;

        TextBox txtKeyword = null;

        protected override void CreateChildControls()

        {

            Table table = new Table();

            table.BorderStyle = BorderStyle.Inset;

            table.Width = 300;

            table.GridLines = GridLines.Both;

            //row 1

            TableRow tableRow = new TableRow();

            //cell 1

            TableCell tableCell = new TableCell();

            tableCell.Text = "Keyword: ";

            tableRow.Cells.Add(tableCell);

            //cell 2

            tableCell = new TableCell();

            txtKeyword = new TextBox();

            tableCell.Controls.Add(txtKeyword);

            tableRow.Cells.Add(tableCell);

            table.Rows.Add(tableRow);

            //row2

            tableRow = new TableRow();

            //cell 1

            tableCell = new TableCell();

            tableCell.Text = "&nbsp";

            tableRow.Cells.Add(tableCell);

            //cell 2

            tableCell = new TableCell();

            Button btnSearch = new Button();

            btnSearch.Text = "Search";

            btnSearch.Click += new EventHandler(btnSearch_Click);

            tableCell.Controls.Add(btnSearch);

            tableRow.Cells.Add(tableCell);





            table.Rows.Add(tableRow);

            this.Controls.Add(table);





            base.CreateChildControls();

        }





        void btnSearch_Click(object sender, EventArgs e)

        {

            literalControl = new LiteralControl();

            literalControl.Text = txtKeyword.Text;

            this.Controls.Add(literalControl);

        }

    }
·        Thêm EventOfControl.dwp
·        Build project chế độ Release
·        Deploy WebPart
o       Chép ASPNETMOSSControls.dll đến thư mục bin của C:\inetpub\wwwroot\.....\bin
o       Chép EventOfControl.dwp vào  wpcatalog(phải tự tạo folder náy nhé nếu chưa có)
·        Quay lại sharepoint site
o       Thêm WebPart này đến WebPart page
o       Nhìn thấy TextBox control và text là “Keyword”  và Button control và text là “Search”  xuất hiện   nếu không có lỗi
o       Nhập text là  “SharePoint”  cho TextBox control và nhấn nút Search và bạn sẽ thấy trên SharePoint literalControl
Exercises 06: Hiểu biết  nhiều hơn về sự kiện ASP.NET control
·        Tiếp tục với  ASPNETMOSSControls project
·        Thêm mới 1 Class tên: MoreEventOfControl.cs
o       Bạn đã khai báo using SharePoint namespace
o       Khai báo kế thừa từ Class WebPart
o       Khai báo LiteralControl tên là: literalControl (bên ngoài phương thức CreateChildControls) và giá trị mặc định là null
o       Khai báo DropDownList control tên là: dropDownList giá trị mặc định null
·        Khai báo code trong phương thức CreateChildControls
§        Khởi tạo mới 1 Table control tên là table
·        Gán thuộc tính cho table :Border,GridLine,….
·        Khởi tạo mới 1 TableRow control tên là tableRow
o       Khởi tạo mới 1 TableCell đầu tiên tên là: tableCell
§        Gán chuỗi “Province Name: ” cho thuộc tính Text
§        Thêm tableCell vào tableRow
o       Tiếp tục khởi tạo TableCell thứ 2 với biến tableCell
§        Khởi tạo DropDownList cho dropDownList
§        Gán “Ha Noi”, “Ho Chi Minh”, “Thua Thien Hue”, “Dong Nai” cho thuộc tính Items của dropDownList
§        Thêm txtKeyword control vào tableCell
§        Khai báo sự kiện SelectedIndexChanged của dropDownList và trong phương thức của sự kiện này bạn có thể gán thuộc tính SelectedValue của txtKeyword cho thuộc tính Text của literalControl
§        Thêm dropDownList control vào tableCell
§        Thêm tableCell vào tableRow
o       Thêm tableRow vào table
§        Thêm tableRow vào WebPart
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Web.UI;

using Microsoft.SharePoint;

using Microsoft.SharePoint.WebPartPages;

using System.Web.UI.WebControls;





namespace ASPNETMOSSControls

{

    public class MoreEventOfControl:WebPart

    {

        Literal literalControl = null;

        DropDownList dropDownList = null;

        protected override void CreateChildControls()

        {

            Table table = new Table();

            table.Width = 300;

            table.GridLines = GridLines.Both;

            TableRow tableRow = new TableRow();





            TableCell tableCell = new TableCell();

            tableCell.Text = "Province Name: ";

            tableRow.Cells.Add(tableCell);





            dropDownList = new DropDownList();

            dropDownList.AutoPostBack = true;

            dropDownList.Items.Add(new ListItem("Ha Noi""HN"));

            dropDownList.Items.Add(new ListItem("Ho Chi minh""HCM"));

            dropDownList.Items.Add(new ListItem("Thua Thien Hue""TTH"));

            dropDownList.Items.Add(new ListItem("Dong Nai""DN"));

dropDownList.SelectedIndexChanged += new EventHandler(dropDownList_SelectedIndexChanged);

            tableCell.Controls.Add(dropDownList);

            tableRow.Cells.Add(tableCell);

            table.Rows.Add(tableRow);





            this.Controls.Add(table);           

            base.CreateChildControls();

        }





        void dropDownList_SelectedIndexChanged(object sender, EventArgs e)

        {

            DropDownList dropDownList = (DropDownList)sender;

            literalControl = new Literal();

            literalControl.Text = dropDownList.SelectedValue.ToString();

            this.Controls.Add(literalControl);

        }

    }

}



·        Thêm MoreEventOfControl.dwp
·        Build project chế độ Release
·        Deploy WebPart
o       Chép ASPNETMOSSControls.dll đến thư mục bin của C:\inetpub\wwwroot\.....\bin
o       Chép MoreEventOfControl.dwp vào  wpcatalog(phải tự tạo folder náy nhé nếu chưa có)
·        Quay lại sharepoint site
o       Thêm WebPart này đến WebPart page

0 comments:

Post a Comment