Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (91.56 KB, 3 trang )
Xây dựng và sử dụng các điều khiển do người dùng tạo ra
Xây dựng và sử dụng các
điều khiển do người dùng tạo
ra
Bởi:
Khuyet Danh
Một webcontrol cho phép bạn xây dựng những control mới từ những control của asp.net,
bạn có thể dễ dàng mở rộng ASPNET Framework từ những control do mình tạo ra.
Việc thao tác với webcontrol thì hầu hết là giống với aspx, để sử dụng webcontrol trên
trang aspx bạn phải đăng ký nó trước khi sử dụng với chỉ dẫn <%@ Register %> ,
ví dụ
<%@ Register TagPrefix="main" TagName="cal"
Src="~/Caculator.ascx" %>
TagPrefix: Chỉ định không gian tên mà bạn muốn kết hợp usercontrol và trang hiện tại
TagName: Chỉ định tên mà bạn muốn kết hợp usercontrol và trang hiện tại
Src: chỉ đến đường dẫn của control(.ascs)
Tạo một webcontrol thực hiện phép tính toán và sử dụng nó trong 1 trang aspx
Code 1: Caculator.ascx
<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="Caculator.ascx.cs" Inherits="Caculator" %>
1/3
Xây dựng và sử dụng các điều khiển do người dùng tạo ra
CommandArgument="sum" runat="server" Text="+" Width="45px"
/>
Text="-" Width="45px" />
CommandArgument="mul" runat="server" Text="X" Width="45px"
/>
Text="/" Width="45px" /> <hr />
phải nhập a" Visible="False"></asp:RequiredFieldValidator>
nguyên" MaximumValue="9999999" MinimumValue="0"
Type="Integer" Visible="False"></asp:RangeValidator>
phải nhập b" Visible="False"></asp:RequiredFieldValidator>
nguyên" MaximumValue="9999999" MinimumValue="0"
Type="Integer" Visible="False"></asp:RangeValidator>
Code 2 Caculator.ascx.cs
using System; public partial class Caculator :
System.Web.UI.UserControl { protected void
Page_Load(object sender, EventArgs e) { } protected void
Calculator(object sender, CommandEventArgs e) { if
(e.CommandName == "cal") { switch
(e.CommandArgument.ToString()) { case "sum":
lblresult.Text = Convert.ToString(int.Parse(txta.Text) +
int.Parse(txtb.Text)); break; case "sub": lblresult.Text =
Convert.ToString(int.Parse(txta.Text) int.Parse(txtb.Text)); break; case "mul": lblresult.Text =
Convert.ToString(int.Parse(txta.Text) *
int.Parse(txtb.Text)); break; case "div": { if
2/3
Xây dựng và sử dụng các điều khiển do người dùng tạo ra
(int.Parse(txtb.Text) != 0) lblresult.Text =
Convert.ToString(int.Parse(txta.Text) /
int.Parse(txtb.Text)); } break; default: // break; } } } }
Code 3: Default.aspx
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@
Register TagPrefix="main" TagName="cal"
Src="~/Caculator.ascx" %> <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN" " />TR/xhtml1/DTD/xhtml1-transitional.dtd">