首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 虚拟主机评测对比
怎样自定义一个服务器端的控件-.NET教程,组件控件开发
作者:网友供稿 点击:5
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
大家知道在asp.net中微软为我们提供了大量的服务器端控件,包括htmlcontrol 和webcontrol。它们功能强大,为我们的编程提供了极大的方便。更重要的一点是它开放了对第三方控件的使用。这就使我们可以定制自己需要的服务器端控件。
  下面我就以一个集成化的上传组件来说明怎样自定义一个服务器端的控件,这个组件其实是htmlinputfile、button 和label以及事件实现的集合。这个组件要达到的功能是要象已有的webcontrol一样,用一个设定了几个属性的标记就自动可以实现文件上传了,而不用再实现事件等。
  编写后端代码编译成一个dll
  //文件名称:wmjwebcontrols.cs
  using system.drawing;
  using system.web.ui.htmlcontrols;
  using system.web.ui.webcontrols;
  using system;
  namespace wmj
  {
   public class fileupload : panel
   {
   private htmlinputfile htmlinputfile;
   private button button;
   private label label;
   public fileupload() : base()
   {
   htmlinputfile=new htmlinputfile();
   button=new button();
   button.text="上传";
   button.click+=new eventhandler(this.button_click);
   label=new label();
   label.text="<font size=2>请选择上传文件的路径</font>";
   this.controls.add(htmlinputfile);
   this.controls.add(button);
   this.controls.add(label);
   this.width=450;
   this.height=30;
   this.borderstyle=borderstyle.dotted;
   this.borderwidth=1;
   }
   private void button_click(object sender, eventargs e)
   {
   system.web.httppostedfile postedfile=htmlinputfile.postedfile;
   if(postedfile!=null)
   {
   try{
   string filename=pathtoname(postedfile.filename);
   if(!filename.endswith(extension))
   {label.text="you must select "+extension+" file!"; return;}
   if(postedfile.contentlength>int.parse(filelength))
   {label.text="file too big!";return;}
   postedfile.saveas(savepath+filename);
   label.text="upload file successfully!";
   return;
   }catch(system.exception exc){label.text=exc.message;return;}
   }
   label.text="please select a file to upload!";
   return;
   }
   private string savepath="";
   private string extension="";
   private string filelength="0";
  //上传的文件保存在服务器上的位置默认为c:\ 这些属性一般都是在asp.net的标记中设置也可以在codebehind中设置
   public string savepath
   {
   get
   {
   if(savepath!="") return savepath;
   return "c:\\";
   }
   set
   {
   savepath=value;
   }
   }
  //上传文件的最大长度 单位k 默认为1k
   public string filelength
   {
   get
   {
   if(filelength!="0") return filelength;
   return "1024";
   }
   set
   {
   filelength=(int.parse(value)*1024).tostring();
   }
   }
  //上传文件的扩展名 默认为txt
   public string extension
   {
   get
   {
   if(extension!="") return extension;
   return "txt";
   }
   set
   {
   extension=value;
   }
   }
   public string pathtoname(string path)
   {
   int pos=path.lastindexof("\\");
   return path.substring(pos+1);
   }
   }
  }
  ////////////////////////////////////////////////////////////////////////////////
  ////
  将这个文件编译成dl,l放在要使用位置的bin目录下面就可以在网站中通过
  <wmj:fileupload savepath="e:\\" filelength="3" extension="txt" runat="server"/>
  使用这个组件了
  下面举个调用这个控件的例子
  <%@page language="c#"%>
  <!--注意下面这一句是必须的-->
  <%@ register tagprefix="wmj" namespace="wmj" assembly="wmjwebcontrols"%>
  <html>
  <head>
  </head>
  <body>
  <form enctype="multipart/form-data" runat="server">
  <wmj:fileupload savepath="e:\\" filelength="3" extension="txt" runat="server"/>
  <!--怎么样使用就是这么简单有点一劳永逸的感觉了吧-->
  </form>
  </body>
  </html>
  有了这个例子的启发,大家再也不用担心asp.net的服务器控件太少了吧。

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Asp.Net下导出/导入规则的Excel(.xls)文件-ASP教程,ASP应用
·中国万网,万网
·中资源
·上海火速
·加拿大中文网
·华夏名网
·世纪东方
·商务中国
·中国E动网
·神话网络
最新文章
·photoshop抠图合成特效:飞出照片相框_photoshop教程
·将升级的windows vista驱动还原到原来的版本_windows vista
·photoshop漫画笔刷绘制非主流照片漫画_photoshop教程
·看域名注册信息判断网赚公司真假_网赚技巧
·找坐标:对网站进行坐标定位_站长心得
·如何增加网站pv_站长心得
·google性格一:对活跃度高的网页收录很快_google推广
·googleadsense容易被k的可能性列表_google推广
·价值数万的googlepr作弊方_google推广
·如何抢占人家的“首要意念”_google推广
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭