ch08 用户控件与自定义服务器控件.pptVIP

  • 6
  • 0
  • 约 24页
  • 2017-09-24 发布于河南
  • 举报
ch08 用户控件与自定义服务器控件.ppt

第八章 用户控件与自定义控件 * 用户控件与自定义控件 用户控件 自定义控件 复合控件 * 用户控件 ASP.NET用户控件与ASP.NET Web窗体文件类似,同时具有用户界面页和代码。用户控件可以像Web窗体一样包含对其内容进行操作的代码。 不过,用户控件与ASP.NET窗体还有存在一些区别: 用户控件的文件扩展名为.ascx,而不是.aspx。 用户控件中没有@Page指令,而是包含@Control指令,该指令对配置及其他属性进行定义。 用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到ASP.NET窗体中。 用户控件中没有html、body或form元素。这些元素必须位于宿主页中。 * 创建用户控件 创建用户控件时,需要创建一个新的.ascx文件。 ascx页面的顶部有一个@ Control指令,并指定要为控件编程使用的语言。接下来,可以添加希望用户控件显示的控件,通常是ASP.NET内置的Web服务器控件或者HTML控件。 当然,在控件中创建相应的属性,可以在用户控件和宿主页之间共享信息。根据需要创建任何类的属性,可以创建为公共成员或使用get和set访问器创建属性。 * 【例 8?1】 %@ Control Language=C# AutoEventWireup = true CodeFile=SpinControl.ascx.cs Inherits = SpinControl % asp:TextBox ID=textNumber runat = server ReadOnly=True Width=32px Enabled=False / asp:Button Font-Bold=True ID = buttonUp runat=server Text=^ OnClick=buttonUp_Click Width=21px / asp:Button Font-Bold=True ID = buttonDown runat=server Text=v OnClick=buttonDown_Click Width=20px / * 【例 8?1】 private int m_minValue; private int m_maxValue = 100; private int m_currentNumber = 0; public int MinValue { get { return m_minValue; } set { if (value = this.MaxValue) throw new Exception (MinValue必须小于MaxValue。); else m_minValue = value; } } * 【例 8?1】 public int MaxValue { get { return m_maxValue; } set { if (value = this.MinValue) throw new Exception (MaxValue必须大于MinValue。); else m_maxValue = value; } } public int CurrentNumber { get { return m_currentNumber; } } * 【例 8?1】 void DisplayNumber () { textNumber.Text = CurrentNumber.ToString (); ViewState[currentNumber] = CurrentNumber.ToString (); } void Page_Load (object sender, EventArgs e) { if (IsPostBack) m_currentNumber = Int16.Parse (ViewState[currentNumber].ToString ()); else m_currentNumber = this.MinValue; DisplayNumber (); } * 【例 8?1】 void buttonUp_Click (object sender, EventArgs e){ if (m_currentNumber == this.MaxValue) m_currentNumber = this.MinValue; else m_currentNumber += 1; Display

文档评论(0)

1亿VIP精品文档

相关文档