WebControl 是服务器控件的基类。各种服务器控件都可以转为WebControl,你自己写服务器控件的话,也可以继承此类

解决方案 »

  1.   

    什么是服务器控件?
    和html页面里的text,button等控件有关系吗
      

  2.   

    System.Web.UI.WebControls下的控件,基本都是服务器控件,他们采用组件形式提供功能。可以将自身翻译成前台html可以接受的代码。
    比如Button控件,在Aspx页面里的标签形式是<asp:Button />,经过解析,他会把自己翻译成html代码<input type="button" />
      

  3.   

    我写了一类继承自WebControl,那我再aspx页面里怎么用这个类?
    类里的一个方法
     protected override void RenderContents(HtmlTextWriter output)
            {
                output.RenderBeginTag(HtmlTextWriterTag.Input);
                output.AddAttribute("id", "btn");
                output.AddAttribute("type", "button");
                output.AddAttribute("onclick", "javascript:One();");
                output.RenderEndTag();
                base.RenderContents(output);        }
    是想让它在aspx页面显示一个按钮,但是我的页面里什么也没显示(这个方法应该被转换成html语句并加到页面里的吧,但是我查看源码时它没有被加进去,所以我的页面上什么也没有,我想不明白为什么没被加进去)
      

  4.   

    你直接继承Button不就完了~?要加啥再往里加
      

  5.   

    WebControl是服务器控件
    你可以通过继承来自定义控件在页面中使用时要先Register下
    如:
    文件:
    <%@ Register TagPrefix="eims" TagName="label" Src="~/controls/MyControl.ascx" %>Dll:
    <%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        Namespace="System.Web.UI" TagPrefix="asp" %>使用
    <eims:MyControl />
      

  6.   

    我就举了一测试的例子,实际要改的是aspx里的body 标签,给它加以onload
      

  7.   

    那就改页面~~webcontrol的任务是解析自己,而不是修改parent~直接在aspx里改body标签即可。很多页面都要的话可以用模板页
      

  8.   

    能不能用什么方法动态的改body标签?
      

  9.   

    <body onload='<%=Foo()%>'>
    这样吧~动态出什么东西Foo函数返回~