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 [assembly: AssemblyKeyFile("..\\hkgsolution.snk")]
o [assembly: AssemblyKeyFile("..\\..\\hkgsolution.snk")]
o [assembly: AssemblyKeyFile("..\\..\\..\\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 “ ” 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 = " ";
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