ASP.NET常用控件

  • ASP.NET控件基本
  1. ASP.NET服务器端控件是对HTML的封装(最终渲染为HTML代码输出给浏览器)/服务器端控件在内网系统 互联网系统的后台部分等访问频率不高的地方用的还是很适合的(缺点: 无用代码生成/必须post提交)
  2. ASP.NET服务器控件均从Control or WebControl类继承:

Control

WebControl

.ClientID---控件在浏览器端得Id(服务器端Id不一定等于浏览器端Id)

.Visible---控件是否可见(与DOM.style.display=“none”不同 不会渲染到浏览器端)

.CssClass---控件样式名(DOM.Class/不推荐通过属性面板进行各控件属性设置(内联/占内存 不易管理))

.Attributes---设置获取控件的额外属性(DOM.set(get)Attribute())

  1. ASP.NET服务器端控件属性中无法写入<% *** %>
  • Label
  1. 渲染为<span>(.AssociatedControlID为空时)或<label>
  2. .Text: 显示文本
  3. .AssociatedControlID: 关联控件Id
  • Literal
  1. 不渲染为任何标签(仅展示.Text内容文本)
  2. .Text: 显示文本
  3. .Mode: Encode时会自动对.Text内容进行HttpUtility.Encode()以避免XSS攻击
  • TextBox
  1. 渲染为<input type=“text”>或<textarea>或<input type=“password”>
  2. .TextMode: 
SingleLine(<input type=“text”>)
MultiLine(<textarea>)
Password(<input type=“password”>)
  1. .AutoPostBack(bool): 焦点离开时页面自动Post(调用_doPostBack()方法)
  • RadioButton
  1. 渲染为<input type=“radio”>
  2. .GroupName: 进行分组
  • Button / ImageButton / LinkButton
  1. Button渲染为<input type=“button”>
  2. ImageButton渲染为<input type=“image”>
  3. LinkButton渲染为<a>
  4. Button.OnClientClick: 浏览器端执行代码(JavaScript)
  5. 不要用LinkButton实现超链接(href为JavaScript代码 执行表单Post提交 无法”在新窗口中打开链接”)
  6. (Button/ImageButton/LinkButton).CommandName/.CommandArgument/.Command事件: 多个按钮共享同一Command事件处理函数(通过读取事件对象e的CommandName CommandArgument两个属性读取被点击按钮上设置的这两个参数来执行不同的操作/ListView等控件中使用较多)
  • Panel
  1. 渲染为<div>/<fieldset>(GroupBox效果/设置.GroupingText时)
  2. .GroupingText: 渲染为
<div><fieldset><legend>***</legend></fieldset></div>
  • HyperLink
  1. 渲染为<a>
  2. .NavigateUrl: 链接地址(使用虚拟路径时会自动进行转换)/指向站内资源较常用
  3. .Text: 显示文本
  4. ImageUrl: 显示图片超链接
  • FileUpload
  1. 渲染为<input type=“file”>
  2. .HasFile(bool值): 用户是否选择上传文件
  3. .FileBytes: 以二进制的形式获得上传的文件
  4. .FileContent: 以流的形式获得上传的文件
  5. .PostedFile: 获得上载的文件的基础System.Web.UI.HttpPostedFile对象
  6. .FileName: 上传文件名
  7. .SaveAs(): 将文件保存到指定磁盘位置
  8. WebShell漏洞预防: 限制上传文件类型/设置上传目录下文件不能执行(设置IIS)

posted on 2011-09-20 14:25  les_vies  阅读(352)  评论(0编辑  收藏  举报

导航