当前位置:编程学习 > C#/ASP.NET >>

关于自定义控件开发问题

现在我做了两个控件,一个自定义的输入框控件,一个对话框控件。
我用javascript在客户端实现点击输入框控件后弹出对话框,在对话框中输入内容后返回给输入框

然后我点击页面的submit,用服务器代码获取这个输入框的内容,始终获取不到

奇怪的是我如果用服务器代码设置这个输入框的内容,就可以获取到

我明白这里是某个地方我不太清楚,请牛人们指教!谢谢! --------------------编程问答-------------------- 请各位帮下忙!谢谢! --------------------编程问答-------------------- javascript 是客户端代码 不对服务器数据产生影响 --------------------编程问答-------------------- 自己解决了,没有实现IPostBackDataHandler接口
--------------------编程问答-------------------- 原则上只要是服务端控件,则应该没有问题。 如果是使用input且没有runat=servre标记则不会提交到服务端。
--------------------编程问答-------------------- 你需要了解浏览器工作原理就好办了
进入页面
初始化 页面 后台(用户控件 作为子控件执行初始化)
传输前台HTML给浏览器绘制UI
用户控件 客户端控件 执行运算
响应客户端用户事件
识别到客户端提交事件,切入后台响应
。。。

具体的后台事件响应顺序
Page 执行中将按照如下顺序激活事件:

Page.PreInit
Page.Init
Page.InitComplite
Page.PreLoad
Page.Load
Page.LoadComplete
Page.PreRender
Page.PreRenderComplete

如果页面从令一个页面继承,如BasePage:System.Web.UI.Page,在BasePage中做了一些扩展,如权限检查,而其他页面从BasePage继承,则BasePage和最终Page的事件激活顺序是:

UI.PreInit
Page.PreInit
UI.Init
Page.Init
UI.InitComplite
Page.InitComplite
UI.PreLoad
Page.PreLoad
UI.Load
Page.Load
UI.LoadComplete
Page.LoadComplete
UI.PreRender
Page.PreRender
UI.PreRenderComplete
Page.PreRenderComplete

如果使用了MasterPage,则MasterPage中的事件和ContentPage中的事件按照下面顺序激活:

ContentPage.PreInit
Master.Init
ContentPage.Init
ContentPage.InitComplite
ContentPage.PreLoad
ContentPage.Load
Master.Load
ContentPage.LoadComplete
ContentPage.PreRender
Master.PreRender
ContentPage.PreRenderComplete

更进一步,如果ContentPage继承BasePage,那么,各事件的执行顺序将变成:

UI.PreInit
ContentPage.PreInit
Master.Init
UI.Init
ContentPage.Init
UI.InitComplite
ContentPage.InitComplite
UI.PreLoad
ContentPage.PreLoad
UI.Load
ContentPage.Load
Master.Load
UI.LoadComplete
ContentPage.LoadComplete
UI.PreRender
ContentPage.PreRender
Master.PreRender
UI.PreRenderComplete
ContentPage.PreRenderComplete

补充:.NET技术 ,  组件/控件开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,