- Hiểu cơ bản về Webpart trong C# 2005, 2008
- Bạn phải có một Web Application và 1 Top-level
Site, tương ứng với cổng bạn tạo (ví dụ: mặc định là cổng 80).
- Mở VS 2008
- Tạo mới một Solution WebPartSoln
trênC:\TênFolder chứa Solution (WebpartSoln)
- Chép Microsoft.Sharepoint.Dll vào Solution.
Bài 1: Tạo Strong Name
trong ứng dụng C#
- Nơi tạo: có thể tạo trực tiếp trong Solution
hoặc là tạo ở đâu rối chép vào Solution.
- Mở Microsft Visual Studio 2008 -> Visual
Studio 2008 -> Visual Studio 2008 Command Prompt
- C:\Program Files\Microsoft Visual Studio
9.0\VC>cd /
- C: \>sn –k hkgsolution.snk
- sau khi câu lệnh thực thi bạn có thể vào
C:\> để có thể nhanh thấy Strong Name (.snk) bạn vừa tạo.
- Cắt hkgsolution.snk đến folder WebpartSoln
Bài 2: Hiểu dùng
StrongName(hkgsolution.snk) trong C#
- Thêm mới một Webpart Project vào WebpartSoln
- Chọn Class Clibrary Project và đặt tên là
HelloWebPart
Chọn Class1 từ Solution Explorer
Đổi tên thành HelloWebPart
- Vào thư mục Properties trong Webpart Project mở
file AssemblyInfo.cs
Di chuyển xuống phần cuối cùng của File
AssemblyInfo.cs, thêm vào : (tùy với vị trí đặt Hkgsolution.snk).
[assembly: AssemblyKeyFile("hkgsolution.snk")]
[assembly: AssemblyKeyFile("..\\hkgsolution.snk")]
[assembly: AssemblyKeyFile("..\\.\\hkgsolution.snk")]
- Build project ở chế độ Release.
- Chắc chắn rằng Build thành công.
Bài 3: Mở Webpart
Project
- Tiếp tục thực hiện với HelloWebpart Project
- Click vào References | R-Right | Add Reference
- Chọn Microsoft.Sharepoint.Dll vào thư mục của WebPartSoln
- Tiếp tục chọn Tab .NET | System.Web
Chắc chắn rằng bạn có khai báo đầy đủ các
Namespace
using System.Web;
using System.Web.UI;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls;
Và HelloWebPart Class này phải kế thừa từ
Webpart
public class HelloWebPart:WebPart
{
//do things;
}
}
- Build project ở chế độ Release.
Bài 4: Tếp tực thực hiện
với Class HelloWebPart
- Đánh protected override nhấn spacebar
- Chọn phương thức: Render
- Và đánh vào như đoạn code bên dưới:
public class HelloWebPart:WebPart
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write("Hello My HKG Web Part!");
base.Render(writer);
}
}
- Build project ở chế độ Release.
Bài 5: Hiểu cách để tạo
ra Public Key Token như thế nào?
- Mở Microsft Visual Studio 2008 -> Visual
Studio 2008 -> Visual Studio 2008 Command Prompt
- C:\>cd C:\ WebPartSoln\ HelloWebPart\bin\Release
; nhấn Endter
- C:\ WebPartSoln\ HelloWebPart\bin\Release>sn
–T HelloWebPart.dll
[=>Đây là đường dẫn của Project chứa
HelloWebPart.dll khi bạn build theo chế độ Release.
Tên của .dll trùng với tên namespace của Project]
- Sau khi thành công thì nó sẽ tạo ra 1 public key
Token, nhớ chuỗi ký tự số này.
- C:\>cd C:\ WebPartSoln\ HelloWebPart\bin\Release>exit
Bài 6:
- Tếp tực thực hiện với Class HelloWebPart
- Chọn vào Project | Add New Item
- Chọn Text File và đặt tên là HelloWebPart.dwp
-> Nhấn Add
- Mô tả nội dung của File này như sau:
<?xml version="1.0"
encoding="utf-8"?>
<WebPart
xmlns="http://schemas.microsoft.com/WebPart/v2" >
<Title>Hello
WebPart</Title>
<Description>Hello
WebPart</Description>
(1)<Assembly>HelloWorldPart, Version=2.0.0.0, Culture=neutral, (2)PublicKeyToken=
ec47e7d9465cc36e </Assembly>
(3)<TypeName> HelloWorldPart.
HelloWorldPart</TypeName>
<!--
Specify initial values for any additional base class or custom properties here.
-->
</WebPart>
(1) Tên của file HelloWorldPart.dll, Version=2.0.0.0: Version trong File AssemblyInfo.cs
(2)
ec47e7d9465cc36e : Public Key Token đã tạo ra ở bài 4
(3) Tên của NameSpace.Tên
của Class WebPart
- Build Project ở chế độ Release
Bài 7: Hiểu để triển
khai 1 Webpart đơn giản như thế nào?
- Truy cập vào Sharepint Server by Remote DeskTop
Connection
+ Vào: C:\inetpub\wwwroot\wss\VirtualDirectories\
+ R- Click vào Your Port (ví dụ: port 80) và Share
thư mục với tên là Mysite
- Trở về máy PC
+ Chọn Mysite folder | R –Click| Map Network Drive
và chon Y (nếu sử dụng máy ảo ><sử dụng win server đương dẫn
sẽ là inetpub\wwwroot\wss\VirtualDirectories\ như hình bên dưới)
+ Copy HelloWorldPart.dll vào Y:\Bin folder (thư mục Mysite)
+ Copy Microsoft.Sharepoint.Dll vào Y:\Bin folder (thư mục Mysite)
+ Copy HelloWebPart.dwp vào Y:\Bin\wpcatalog folder (thư mục Mysite)
+ Trở về Top-level hoặc Sub Site
+ Click Site Actions | Edit page hyper link
+ Click Add Web Part và
chọn Server libraries
+ Chọn vào HelloWorldPart và
thấy xuất hiện lỗi?
Bài 8: Mô tả SafeControl
trong Web.config
- Chọn vào Y:\ và chọn Web.config
- R-Click | chỉnh bằng NotePad
- Di chuyển đến vị trí </ SafeControl>
- Và mô tả < SafeControl> như trong Slide
của bạn
- Trở về Top-level hoặc Sub Site
- Click Site Actions | Edit page hyper link
- Click Add Web Part và
chọn Server Gallery
- Chọn HelloWorldPart và
thấy lỗi?
Bài 9: tạo ra 1 sub Site
mới từ Top Level Site của bạn:
- Click Site Actions | Edit page hyper link
- Click Add Web Part và
chọn Server Gallery
- Chọn HelloWorldPart và
thấy lỗi?
-
Bài 10: Hiểu thay đổi số
Version trong C# như thế nào?
- Mở Folder Properties và
chỉnh sửa AssemblyInfo.cs
- Thay đổi AssemblyInfo Version từ 1.0.0.0 thành 2.0.0.0
- Build lại Project ở chế độ Release
- Copy lại HelloWorldPart.dll vào Y:\Bin
- Trở về Top-level hoặc Sub Site
- Refesh lại page và thấy xuất hiện lỗi gì?
- Giải quyết vấn đề như tếh nào?
Bài 11:
- Add new Web Part vào WebPartSoln
- Chọn Class Clibrary Project và đặt tên là
OverrideMethodWebPart
- Chọn Class Clibrary Project và đặt tên là
HelloWebPart
- Chọn Class1 từ Solution Exployere
- Đổi tên thành OverrideMethodWebPart
- Click vào References | R-Right | Add Reference
- Chọn Microsoft.Sharepoint.Dll vào thư mục của WebPartSoln
- Tiếp tục chọn Tab .NET | System.Web
- Chắc chắn rằng bạn có khai báo đầy đủ các
Namespace
using System.Web;
using System.Web.UI;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls;
- Và OverrideMethodWebPart Class này phải kế thừa từ Webpart
public class OverrideMethodWebPart:WebPart
{
}
- Đánh protected override nhấn spacebar
- Chọn phương thức: Render
protected override void Render(HtmlTextWriter writer)
{
writer.Write("Render!"+current time);
base.Render(writer);
}
- Đánh protected override nhấn spacebar
- Chọn phương thức: OnPreRender
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
}
- Đánh protected override nhấn spacebar
- Chọn phương thức: CreateChildControls
protected override void CreateChildControls()
{
TextBox box = new TextBox();
box.Text = "CreationChildControls" + DateTime.Now.ToLongTimeString();
this.Controls.Add(box);
base.CreateChildControls();
}
- Đánh protected override nhấn spacebar
- Chọn phương thức: OnLoad
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
- Đánh protected override nhấn spacebar
- Chọn phương thức: OnInit
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
{
}
- Đánh protected override nhấn spacebar
- Chọn phương thức: EnsureChildControls
protected override void EnsureChildControls()
{
base.EnsureChildControls();
}
- OverrideMethodWebPart.dwp
+ Project | Add New Item | Select Text File
+ Đặt tên: OverrideMethodWebPart.dwp
+ Copy nội dung từ HelloWorldPart.dwp và thay đổi 1 vài thứ
- Mở Properties Folder và chỉnh sửa file AssemblyInfo.cs
Di chuyển xuống phần cuối cùng của File
AssemblyInfo.cs, thêm vào : (tùy với vị trí đặt Hkgsolution.snk).
[assembly: AssemblyKeyFile("hkgsolution.snk")]
[assembly: AssemblyKeyFile("..\\hkgsolution.snk")]
[assembly: AssemblyKeyFile("..\\.\\hkgsolution.snk")]
- Build project ở chế độ Release.
- Triển khai Web part vào Web Site của bạn:
- Copy OverrideMethodWebPart.dll vào thư mục
Y:\Bin
- Chỉnh sửa Web.config và mô tả lạ SafeControl Tag
0 comments:
Post a Comment