using System;
using System.IO;
using System.ComponentModel;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI;
using System.Web.UI.WebControls;namespace Com991205 
{

/// public class UserModuleControl : UserControl 
{
private ModuleDetails   moduleDetails;

/// [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden )]
public int ModuleId 
{
get 
{
return (int) moduleDetails.ModuleId;
}
}     /// [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public ModuleDetails ModuleConfiguration 
{
get 
{
return moduleDetails;
}
set
{
moduleDetails = value;
}
}
}// private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
//  {
//     if(e.CommandName == "button")
//      {
//         text.Text = ((TextBox)e.Item.Cells[0].FindControl("textBox")).Text;
//      }
//  }/// public class CachedPortalModuleControl : Control 
{
private ModuleDetails  moduleDetails; public ModuleDetails ModuleConfiguration 
{ get 
{
return moduleDetails;
}
set 
{
moduleDetails = value;
}
} public int ModuleId 
{
get 
{
return moduleDetails.ModuleId;
}
}/// protected override void CreateChildControls() 
{
base.CreateChildControls(); UserModuleControl module = (UserModuleControl) Page.LoadControl(moduleDetails.ModulePath);
                
module.ModuleConfiguration = this.ModuleConfiguration;
this.Controls.Add(module);
}/// protected override void Render(HtmlTextWriter output) 
{
TextWriter tempWriter = new StringWriter();
base.Render(new HtmlTextWriter(tempWriter)); // Output the user control's content
output.Write(tempWriter.ToString());
}
}
}请高手将画斜线处语句及方法详细阐述解释说明 不胜感激~~~  再次感谢

解决方案 »

  1.   

    /// public class UserModuleControl : UserControl 
    继承UserControl/// [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden )]
    生成组件的属性/// public class CachedPortalModuleControl : Control 
    继承Control/// protected override void CreateChildControls()
    重载方法
      

  2.   

    不好意思,///protected override void CreateChildControls()
    中的overrideoverride 修饰符用于重写基类中方法的方法。当基类不包含具有相同签名的成员时,不得将 override 修饰符用于方法。类中的方法和属性可以使用 override 修饰符来标记。类、字段、接口和接口的成员不能采用 override 修饰符。不能将 override 修饰符与其他版本安全修饰符 (hide) 组合。版本安全修饰符不能与 static 修饰符组合。默认情况下,除非基类方法具有 final 修饰符,否则方法将重写基类方法。不能重写 final 方法。在版本安全模式下运行时,每当重写基类方法时必须使用一个版本安全修饰符
      

  3.   

    上面的您说得我都知道了 我说那个特性是什么作用 我刚才看了下
    当序列化程序保持设计模式文档的可持续状态时,它通常会向组件的初始化方法中添加代码,以便保持已在设计时设置的属性值。如果尚未设置指示其他行为的特性,大多数基类型都会默认出现此情况。DesignerSerializationVisibilityAttribute 允许您指示属性值是否为 Visible,是否应在初始化代码中保持,Hidden,是否不应在初始化代码中保持,是否由 Content 组成,它应具有为分配到该属性的对象的每个公共属性(而非隐藏属性)生成的初始化代码。没有 DesignerSerializationVisibilityAttribute 的成员将被视为具有值为 Visible 的 DesignerSerializationVisibilityAttribute。如果可能,序列化程序会将标记为 Visible 的属性值序列化为该类型。要为特定类型或属性指定自定义序列化,请使用 DesignerSerializerAttribute。有关更多信息,请参见特性概述和利用属性扩展元数据。你说的那些重写需方法继承我都知道了 不过还是要谢谢你 我想知道那个方法里面代码的意思