• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP.NET中设计带事件定制控件(4)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网      为了访问Default.ASPx网页的新功能,我们需要在该类的OnInit部分添加事件处理程序:
  
  
  
  (图7)
  
    如上图所示,StoreSelectorChanged事件出现在了Default.aspx网页上。下面我们赋予它一个功能。我将在Default.aspx网页上添加6个标签,随DropDownList的变化显示值:
  
  
  
  图8)
  
    现在我们来编写事件。
  
    美观是Intellisense是Intellisense认可定制的EventArg类属性的原则:
  
  
  
  (图9)
  
    最终的事件函数如下所示:
  
  #code
  private void StoreSelector1_StoreSelectorChanged(object
  sender, Pubs.Controls.StoreSelectorCommandEventArgs e)
  {
   Label1.Text = e.stor_id;
   Label2.Text = e.stor_name;
   Label3.Text = e.stor_address;
   Label4.Text = e.city;
   Label5.Text = e.state;
   Label6.Text = e.zip;
  }
  #end code
  
    现在我们对该项目进行测试。该网页一加载,读者的头脑中可能会闪现出这样的念头:它有问题,但我向你保证保证,该项目没有任何问题。如果想在网页一加载时就触发该事件,我们必须通过设置DropDownList控件中有选择的索引属性在已经创建的控件中进行设置。
  
  
  
  (图10)
  
    只要我们从DropDownList中选择另一个Store,标签就会发生变化:
  
  
  
  (图11)
  
    现在我们使表单加载到第一个记录。我们在StoreSelector控件上添加下面的属性:
  
  #Code
  public int SelectedIndex
  {
   get{ return storeList.SelectedIndex; }
   set
   {
    if(!Page.IsPostBack)
    {
     BindData();
    }
    if(value < storeList.Items.Count)
    {
     storeList.SelectedIndex = value;
     OnStoreSelectorChanged(
      new StoreSelectorCommandEventArgs
       (data.Tables["stores"].Rows[value].ItemArray[0].ToString(),
       data.Tables["stores"].Rows[value].ItemArray[1].ToString(),
       data.Tables["stores"].Rows[value].ItemArray[2].ToString(),
       data.Tables["stores"].Rows[value].ItemArray[3].ToString(),
       data.Tables["stores"].Rows[value].ItemArray[4].ToString(),
       data.Tables["stores"].Rows[value].ItemArray[5].ToString()));
    }
   }
  }
  #End Code
  
    然后设置Default.aspx中Page_Load事件的属性:
  
  #code
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 用户初始化网页的代码
   if(!Page.IsPostBack)
   {
    StoreSelector1.SelectedIndex = 0;
   }
  }
  #end code
  
    运行该项目时,它就会将表单加载到第一个记录。
  
    小结
  
    希望这篇文章能够对广大读者有一定的帮助。这种类型的Web应用程序的开发几乎没有什么限制,只要设计得当,我们创建的每个Web控件可以在整个Web应用程序中使用。
  

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网