KW问题之我见

问题

这些问题提的都蛮有意思的
不敢班门弄斧,只是就其中几个我知道的问题
发表一下自己的看法

*问题4. 谈谈 AutoEventWireup
"uestc95:AutoEventWireup属性是用来控制是否允许page framework自动调用
Page_Init和Page_Load方法的,默认情况下是true."

我的说明:在Page这个directive里vs会自动地帮你写上AutoEventWireup="false",
去掉它,系统默认为true,它倒底是个什么东东呢,uestc95的回答是完全正确的

我们可以做一个实验,把它设为true,然后再在Page_Load里添上一行代码
Response.Write("I Love you,BABE!");
然后执行,哈哈,我爱了你两次。

我们改一点东西,把在InitializeComponent()里的那句
this.Load += new System.EventHandler(this.Page_Load);注释了
再执行,哈哈,肉麻的话说一遍就可以了嘛。

答案到这里就很清楚了,有了AutoEventWireup="true",我们就没有必要在为Page的事件
显式的绑定处理方法了,系统会自动的执行Page_Init和Page_Load

*问题X:扩展问题:如何动态地,用程序(programmatically)引用一个 user control?
有什么要注意的?
众所周知user control可以通过在HTML代码里添加标记的形式加入到页面中
它也可以在程序里动态的载入
方法很简单,先声明一个myControl
protected System.Web.UI.Control myControl;

然后这样
myControl=LoadControl("XXXXXXX.ascx");

再把它添加到一个继承于System.Web.UI.Control的WebControl里就可以了,比如Panel
myPanel.Controls.Add(myControl);

我想操作我的User Control怎么办
((你的User Control的类名)myControl).你想执行的方法;

*问题14: 如果你通过继承 System.Web.UI.Control 写了个 Custom Control,
如何加上对 client-side script 的支持?
"uestc95:比如在一个<asp:button>中想要增加一个客户端脚本事件:
Button1.Attributes.Add("onclick","alert(‘客户端的javascritp脚本’)");"

刚开始我以为是为User Control添加client-side script 的支持,仔细一看,我看错了:-(
uestc95的回答完全正确,的确值得我们崇拜他一下。

不过问题有一个地方写得不太对,应该是:
"如果你通过继承 System.Web.UI.WebControls.WebControl 写了个 Custom Control"
因为只有WebControl才有这个WebControl.Attributes Property哟!

另外再顺带一下,如果你想在你的User Control里实现类似DataGrid的
Client-side JavaScript for Custom Postback务必要让你的User Control实现
System.Web.UI.IPostBackEventHandler这个接口,然后用Page.GetPostBackEventReference传送
事件参数,再用RaisePostBackEvent来拿到参数处理提交。
这个在quickstart里有完整的例子,有兴趣的朋友可以去看看

*问题16: 自己写个 control 如何支持 template?
能否在 control 中写代码读取 template 中将要放入的内容(比如控件)的值?

这个问题很奇怪,高手们谁都没给出答案(因为太Easy了:-),让我们这些潜水员都急坏了
我就试着答一下吧

User Control是可以支持Template的,如果它支持,我们可以给它一个外号:Templated control
首先,Templated control 应该实现INamingContainer,防止放在Template里的控件和外面的重名
请注意,我用了应该这个词,而不是必须

其次,Templated control必须至少有一个这样的属性
属性类型是ITemplate,且属性读写方法前必须有[TemplateContainer(typeof(模板里放入的东东))]
程序是这样的:

private ITemplate  myTemplate = null;

[TemplateContainer(typeof(模板里放入的东东))]
public ITemplate MyTemplate {
           get {
              return myTemplate;
           }
           set {
              myTemplate = value;
           }
        }

然后我们要override一下CreateChildControls方法,象这样:

protected override void CreateChildControls() {

           if (myTemplate != null) {
              模板里放入的东东 i = new 模板里放入的东东;
              myTemplate.InstantiateIn(i);
              this.Controls.Add(i);
           }
        }

写到这里我发现了一个问题,就是这个"模板里放入的东东"是我new出来的
而不是分析aspx代码读到的,这带来的副作用就是我事先就确定了模板里的内容
这就不灵活了,可能也和这个问题的本意发生了矛盾。
如果有人知道,希望出来解一下惑!!!!!

第二个问题嘛,我想用FindControl这个方法应该可以搞定吧.

时间: 2024-11-02 09:18:19

KW问题之我见的相关文章

Title与H1之我见 关系与区别浅析

title与H1之我见 各位站长在建站时,都会在网站或文章前应用大标题<H1>属性和title网站标题属性.很多新站长在网站SEO过程中,会认为把H1等同于Title.其实两是有区别和联系的,两者不能划等号.下面主要从文章和页面角度分析title和H1. H1等同于title吗? H1不等于title.H1,大标题.一般出现在文章页面,作用如同一张报纸的大标题,使用读者在没看内容之前就大概了解本文的旨意,它是直接给用户看的.在SEO中,搜索引擎也非常重视H1,目的是告诉搜索引擎,这个地方的内容

回复: kw,你的那个程序不能用绝对路径?如c:\

程序 1. 其实我现在使用的就是一个比较完整的.代码见下:2. 由于需要在两天之内写出来(the whole site),代码很不漂亮,也没有 err handle, optimize.3. filesystemobject 只能用绝对路径.所以需要 mappath method.4. Microsoft suminfo object 只支持本地文件,不能 net use...5. 但是他有 c++ 的源代码,你可以...6. 很抱歉没办法把整个站点和大家共享,因为在Intranet.7. 为了

在表格中如何为数据设置“kw”单位?

图片我传在附件中了.KW一填就变K六了.唉!!谁有好的方法可以自动添加KW这个单位呢?帮忙.不然我可得一个个去填了 您好,您可以尝试在选中自定义之后,在类型文本框中输入:#"kw"

《高级进阶DB2(第2版)——内部结构、高级管理与问题诊断》之我见

<高级进阶DB2(第2版)--内部结构.高级管理与问题诊断>之我见 从IT开发与运维角度来分析,千千万万的业务应用系统,最核心的最有价值的是业务数据:而这些多年来积累与沉淀下来的数据依托于数据库系统,数据库系统是否稳定与性能高低则是考验数据库内核,而作为核心之重的数据库内核则是各种商用与开源数据库服务器软件实现与关注的重点所在. 从数据库服务器软件的市场来看,DB2所占据的地位与份额真是犹如乒乓球界的王晧与羽毛球界的李宗伟,长期占居千年老二之位,位亦如其名啊(*_*) 作为要立志成为资深的DB

docker未来之我见=一个dockerfile+一个script

docker未来之我见=一个dockerfile+一个script   docker repositories:https://registry.hub.docker.com/search?q=library&s=stars,仓库列表上有很多Image镜像   docker是一种部署各种app(可以是一个Linux OS如Ubuntu,Centos等,也可以是数据库如redis,mysql,mongodb等,也可以是Linux开发环境如rails,python,java等,还有其他在Linux上

软件升级之我见

                                                              软件升级之我见        对于嵌入式产品软件升级功能是必不可少的,如何确保软件升级的安全性.便捷性显得非常重要.笔者以机顶盒产品为例谈一谈对软件升级功能的体会.产品的软件要升级,首先需要获取升级的软件,而获取升级软件的途径目前主要有通过网络下载到该产品,或者通过USB存储器.在国内的机顶盒产品中,常见的是运营商把升级软件嵌入运营的有线网络中,由机顶盒检测升级标志位判断是

数据-我觉得我见鬼了,请大神帮我看看我到底是不是真的见鬼了,现在凌晨三点了

问题描述 我觉得我见鬼了,请大神帮我看看我到底是不是真的见鬼了,现在凌晨三点了 #include #include #include typedef struct Node ND; struct Node{ //结构体 int data; //数据预,存放结构体的数据,哲理简单化,假设只有一个data struct Node * pNext; //指针域,用来存放下一个节点的指针或者上一个节点的指针或者其他节点的指针,这里简化只存放下一个节点的指针 }; /*函数声明*/ //void trav

蒋平中:如何提高博客人气之我见

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 博客不同于一般的网店或产品站,虽然不是直接销售产品的,但在网络营销中它所起到的作用日益重要.有人说:爱情是需要经营的,我们必须主动出击,并且保持热情,那么博客也是这样.建立一个博客非常容易,在是在博客开通后,需要像对工作一样的尽职尽责对待,最大的努力使博客天天都在进步,日积月累这是博客成长过程中非常重要的.这不仅仅是一个工作原则,更体现了一种

性能测试知多少----性能测试分类之我见

从这一篇开始,虫师向性能方面发力.翻看自己的博客,最早的时候热衷于jmeter,于是写了几篇图文并茂的文章(其实,主要是操作截图加文字 描述),之后,由于看到好多朋友关于性能的知识什么都不知道,下载个loadrunner 就说要做性能测试,结果可想而知,遇到各种概念与使用问题.于是写了<在做性能测试之前需要知道什么><在做性能测试之后需要知道什么>,关于loadrunner的我没有写一篇博客,因为介绍loadrunner的网站.资料.书籍和视频太多了.我想这个系列我也会把关注点放在