我們以封裝一個JS的日期控件為列子
方法
首先
然後
using System;
using System
using System
using System
using System
using System
using System
using System
using System
[assembly: WebResource(
namespace Wisesoft
{
[ToolboxBitmap(typeof(CalenderBox)
public class CalenderBox : TextBox
{
protected override void OnPreRender(EventArgs e)
{
string calendar = CalenderCSS
calendar = calendar
if (!Page
Page
this
this
this
this
base
}
void Page_PreRenderComplete(object sender
{
Page
}
/**//// <summary>
/// 彈出日期控件小圖片的地址
/// </summary>
[Bindable(true)]
[Category(
[DefaultValue(
[Localizable(true)]
public string ImaginURL
{
get
{
String s = (String)ViewState[
return ((s == null) ?
}
set
{
ViewState[
}
}
/**//// <summary>
/// 設置日期
/// </summary>
[Bindable(true)]
[Category(
[DefaultValue(false)]
[Localizable(true)]
public bool ShowTime
{
get
{
bool s = (bool)ViewState[
if (ViewState[
{
return s;
}
return false;
}
set
{
ViewState[
}
}
/**//// <summary>
/// 注樣式文件
/// </summary>
/// <param name=
private void RegisterCssFile(string path)
{
HtmlLink link
link
link
link
this
}
}
}
注意
再看
void Page_PreRenderComplete(object sender
{
Page
}
是在頁面呈現之前將你的JS文件注冊到頁面上
[Bindable(true)]
[Category(
[DefaultValue(
[Localizable(true)]
是利用反射的元數據信息
好了
我們可以看見下面有一個方法
/**//// <summary>
/// 注樣式文件
/// </summary>
/// <param name=
private void RegisterCssFile(string path)
{
HtmlLink link
link
link
link
this
}
它就是用來注冊你的CSS文件的
因此我們就必須建立一個CSS
using System;
using System
using System
namespace Wisesoft
{
public class CalenderCSS
{
public static string CSS = @
border:#
height:
background:url($ImaginURL$) no
}
font
color:red;
}
</style>
}
}
這個類其實是將我們的CSS文件
那麼我們再看看CalendarBox
string calendar = CalenderCSS
calendar = calendar
if (!Page
Page
它就是將我們已經寫好的一段字符串以快的形式注冊到客戶端(當然還有更多的注冊方式
好了
下載 >源碼下載
From:http://tw.wingwit.com/Article/program/net/201311/13968.html