技术开发 频道

VS2010实战:发布一个自定义Web控件

  合并项目引用

  1、给项目添加以下引用:

  • Microsoft.CSharp

  • System.Data.DataSetExtensions

  • System.Web

  • System.Xml.Linq

  2、从项目移除以下引用:

  • System.Data

  • System.Windows.Forms

  • System.Xml

 合并项目引用

  图 4 合并引用后的解决方案

  创建Web控件

  1、在代码编辑器中打开ColorTextControl.cs文件。

  2、将命名空间改为MyWebControls。

  3、在ToolboxData属性上,用ColorTextControl替代ServerControl1。

  这些值指定了从工具箱拖动控件到Web页面上时,为控件生成标签,它们必须与控件类的名字匹配,也是显示在工具箱上控件的名字。

  4、给控件类增加一个ProvideToolBoxControl属性。

  这个属性的第一个参数是程序集的名字,它与命名空间的名字是一样的,彩色文本控件将会以这个名字显示在工具箱上。控件类源代码的开头部分如下:

namespace MyWebControls

  {

  [DefaultProperty(
"Text")]

  [ToolboxData(
"<{0}:ColorTextControl runat=server>")]

  [ProvideToolboxControl(
"MyWebControls", false)]

  
public class ColorTextControl : WebControl

  {

 

  5、用下面的Get方法替换默认的“Text”属性:

get

  {

  
String s = (String)ViewState["Text"];

  return
"' + s + "";

  }

  它将在文字周围显示一个绿色标签。

  6、在代码编辑器中打开Properties/AssemblyInfo.cs文件。

  7、用“*”替换AssemblyVersion版本修订编号,如:

  [assembly: AssemblyVersion("1.0.0.*")]

  自定义工具箱控件是缓存起来的,只有程序集前面变化时才会刷新,每次构建时,通过增加程序集版本修订编号,缓存就会一直刷新。

  测试你的Web控件

  发布Web控件之前,最好先在Visual Studio实验实例上进行测试。

  1、按F5启动Visual Studio的实验实例。

  2、从“工具”菜单中选择“扩展管理器”,显示MyWebControls扩展已经启用,如下图所示。

 合并项目引用

  图 5 已经生效的扩展

  3、关闭“扩展管理器”。

  4、创建新的ASP.NET Web应用程序项目。

  5、在源模式下打开default.aspx。

  6、打开工具箱,你应该在MyWebControls分类下看到ColorTextControl,如下图所示。

 合并项目引用

  图 6 MyWebControls下的ColorTextControl

  7、拖动一个ColorTextControl到Web页面。

  8、给ColorTextControl标签增加Text属性,给其赋值Think Green!,代码如下:

  

  9、按F5启动ASP.NET开发服务器。

  ColorTextControl在网页中渲染后的效果如下:

 合并项目引用

  图 7 ColorTextControl最终显示效果

  10、关闭ASP.NET开发服务器。

  11、关闭Visual Studio实验实例。

0
相关文章