ASP.NET服务器控件视图浅析
ASP NET服务器控件视图的必要性 如果我们的服务器控件需要较完备的GUI 譬如需要控制HTML元素的附加属性字体 颜色 高度等 那么应当从Control的子类WebControl继承 以得到所需的基础性能 从WebControl类派生 需要遵守通常如下的约定
包含从System Web UI WebControl的命名空间的引用
不能够重载Render方法直接向输出流提供数据 而应当重载RenderContents方法来实现
通常情况下 WebControl的派生类最终在输出流中表现为<span>标签 但是如果自己希望使用其它的标签 就应当重载WebControl的tagKey属性或者TagName属性
ASP NET服务器控件视图学习的经验(或者说MS建议)
如果控件生成非可视化元素或显示给非HTML客户端 那么应当选用Control作为符类继承 如<meta><xml>等标签
提供HTML界面的从WebControl继承
扩展修改功能时应当从一个已存控件派生 但是不要从System Web UI HtmlControls命名空间派生 因为设计器不承认从该类派生的控件
为了能够支持设计器 实现设计期 那么需要考虑attribute(元数据)的编程
ASP NET服务器控件视图之视图状态
Web编程很重要的一个方面是状态管理 也就是解决在无状态的协议基础上的状态管理问题 在asp类web编程技术时代 这通常通过以下技术手段来解决
Session
Cookies
隐藏变量
URL携参
然而 以上方案都有自身的缺陷 譬如Session不宜扩展 Cookies在特定情况下可能不可用 隐藏变量不易管理 URL携参有长度限制且容量有限
综合考虑 MS提出了基于隐藏变量方案的ViewState(视图)的概念 通过视图保存 个ASP NET页间的服务器端控件状态 视图是如何工作的呢?
在处理一个Web请求后 页面框架会收集页面控件树中所有控件的状态并且创建一个视图对象 每一个Control都有一个ViewState字典保存自己的状态 当输出到客户时将全部ViewState进行串行化为一个字符串表达式 作为隐含变量发送到客户端 通常情况下我们将视图的串行化子符串在服务器同客户端间进行传递 上一个请求的隐含变量会回传到服务器端进行并行化 然后 还原 给服务器控件 本质上 是一个隐含变量 但是在隐含变量基础上加入了ASP NET的管理功能 这就是视图的本质
Control的EnableViewState决定了控件是否同意将自己的状态交给自动化的视图管理
当一个控件需要保存状态时候 没人可以支持保存的属性为int boolean 等 简单原生 数据类型 如果是较为复杂的属性值类型 需要编程者提供类型转换器 将值数据转换为字符串 若未提供
那么采用代价高昂的二进制串行化功能(逐个byte的进行) 视图数据在传递过程中通过传递一个附加的摘要来确保数据不被篡改(但无法保证不被窥探 毕竟base 编码近乎明文)
lishixinzhi/Article/program/net/201311/12501
第4章 服务器控件41 服务器控件概述
411 服务器控件分类
ASPNET的Server控制组件分为两种:HTML控制组件和Web控制组件。
412 服务器控件属性、事件和方法服务器控件是ASPNET的特定对象,每一个控件都具有特定的属性、事件和方法
413 服务器控件层次结构 ASPNET服务器控件是从SystemWebUIControl直接或间接派生的。ASPNET服务器控件的主要作用是提供用户界面。服务器控件层次结构如图所示。 42 HTML服务器控件
421 HTML服务器控件的层次结构 HTML服务器控件的主要功能是在Web页面上管理控件。图显示了HTML服务器控件的层次结构HTML服务器控件提供以下功能:
1可在服务器上使用熟悉的面向对象技术对其进行编程的对象模型。
2提供一组事件,可以为其编写事件处理程序,方法与在基于客户端的窗体中大致 相同,所不同的是事件处理是在服务器代码中完成的。
3在客户端脚本中处理事件的能力。
4自动维护控件状态。
5与验证控件进行交互,便于验证用户是否在控件输入了适当的信息。
6数据绑定到一个或多个控件属性
7 直接可用的自定义属性。
422 HTML控件的基本语法 HTML控件的基本语法: <HTML标记 Id=“控件名称” Runat=“Server”>
423 HTML控件详解
1 HTML服务器控件的共同属性 几个共同的属性:Innerhtml、InnerText、Disable、Visible、Value、Attributes、Style。
2 HtmlAnchor控件 HtmlAnchor控件的主要属性和事件如下:
(1)Href属性:用来获取或设置在HtmlAnchor服务器控件中指定的链接的URL目标。
(2)Title属性:用来获取或设置当鼠标指针放在HtmlAnchor控件上所显示的工具提示文本。
(3)Name属性:获取或设置HtmlAnchor服务器控件中定义的书签名。
(4)Target属性:获取或设置要将Web页内容加载到的目标窗口或框架。
(5) OnServerClick方法:用于指定在单击HtmlAnchor控件时引发的处理程序。 例如:
<A Id="HtmlAnchor1" Href="aaaspx" '单击HtmlAnchor1 时链接到的aaaspx
OnServerClick="AnchorBtn_Click " '单击 HtmlAnchor1时执行 AnchorBtn_Click 事件
Ttarget="_blank " 'aaaspx内容呈现在新的、不带框的窗口中
Title="在新窗口中打开aaaspx " '当鼠标指针放在 HtmlAnchor1上时显示
Runat="Server" >
</A>
3 HtmlInputButton控件
HtmlInputButton控件的主要属性和事件如下:
(1)Type属性:用来获取HtmlInputControl的类型。表列出了Type属性的各种不同可 能值及其含义。 (2)Value属性:用来设置按钮上的显示的文本内容。
(3)OnServerClick方法:该事件当在Web页上单击HtmlInputButton控件时发生的处理 程序。
4 HtmlInputImage控件 HtmlInputImage控件主要属性和事件如下:
(1)Align属性
(2)Alt属性
(3)Src属性
(4)OnServerClick方法
5 HtmlInputText控件 HtmlInputText控件的主要属性和事件如下:
(1)Size属性
(2)MaxLength属性
(3)Value属性
(4)Type属性
(5)ServerChange事件
(6)OnServerChange方法
6 HtmlTextArea控件 HtmlInputText控件在控件工具箱中的图标为 。文本框的尺寸由Cols和Rows属性控制 。
7 HtmlImage 控件 HtmlImage控件的主要属性如下:
(1)Align属性 :各种可能的取值及其说明见表。
(2) Src属性
(3) Alt属性
(4) Border属性
(5) Height属性
(6) Width属性 8 HtmlInputCheckBox控件 HtmlInputCheckBox控件的主要属性和事件如下:
(1)Checked属性
(2) OnServerChange方法
9 HtmlInputRadioButton控件 HtmlInputRadioButton控件的主要属性和事件如下:
(1)Checked属性
(2)Name属性
(3) Value属性
(4) ServerChange事件
(5) OnServerChange方法
10 HtmlSelect控件该控件的主要属性和事件如下:
(1)Multiple属性
(2) Size属性
(3) SelectedIndex属性
(4) Items属性
(5)Value属性
(6) DataSource属性
(7) DataValueField属性
(8)DataTextField属性
(9)OnServerChange方法
11 其他HTML服务器控件 其他HTML服务器控件对应的HTML元素及用途见右表。43 Web服务器控件
431 Web服务器控件的层次结构 下图显示了SystemWebUIWebControls名称空间中控件的层次结构。432 Web服务器控件基本语法 Web服务器控件的基本语法:
<ASP: 控件Id=“控件名称” Runat=“Server” 属性1=“属性设置值1” 属性2=“属性设置值2”……></ASP: 控件> 或者
<ASP: 控件Id=“控件名称” Runat=“Server”/ 属性1=“属性设置值1” 属性2=“属性设置值2”…… / >
433 Web服务器控件详解
1 Button控件
Button控件的使用语法:
<ASP: Button 属性设置></ASP: Button> 或者
<ASP: Button 属性设置 />
Button控件主要属性和事件如下:
(1)Enabled属性
(2) Text属性
(3) ToolTip属性
(4) CommandName属性
(5)CommandArgument属性
(6)OnClick事件
2 HyperLink控件
HyperLink控件的使用语法:
<ASP: Hyperlink 属性设置></ASP: Hyperlink > 或者
<ASP: Hyperlink 属性设置 />
HyperLink控件的主要属性如下:
(1) Text属性
(2) ImageUrl属性
(3) NavigateUrl属性
(4) Target属性
3 LinkButton控件
LinkButton控件的使用语法:
<ASP: LinkButton 属性设置> </ASP: LinkButton>或者
<ASP: LinkButton 属性设置 />
LinkButton控件的主要属性和事件如下:
(1) Text属性
(2) Enabled属性
(3) ToolTip属性
(4) CommandName属性
(5) CommandArgument属性
(6)Command事件
4 ImageButton控件
ImageButton控件使用语法:
<ASP: ImageButton 属性设置> </ASP: ImageButton> 或者
<ASP: ImageButton 属性设置 />
ImageButton控件的主要属性和事件如下:
(1) Enabled属性
(2) CommandName属性
(3) CommandArgument属性
(4) ImageUrl属性
(5) ImageAlign属性
(6) ToolTip属性
(7)OnClick事件
5 Label控件 Label控件使用语法:
<ASP: Label 属性设置> </ASP: Label>或者
<ASP: Label 属性设置 />
Label控件的主要属性:
(1) AutoSize属性
(2) Text属性
(3) TextAlign属性:该属性设置标签内的文本的对齐方式。取值及其含义见表。 (4) Font属性
(5) Height属性
(6)Width属性
6 TextBox控件
TextBox控件使用语法:
<ASP: TextBox 属性设置> </ASP: TextBox>或者
<ASP: TextBox 属性设置 />
TextBox控件的主要属性和事件如下:
(1) AutoPostBack属性
(2) Columns属性
(3) Rows属性
(4) MaxLength属性
(5) ReadOnly属性
(6) Text属性
(7) Wrap属性
(8) TextMode属性
7 CheckBox控件和CheckBoxList控件
CheckBox控件使用语法:
ASP: CheckBox 属性设置 > </ASP: CheckBox >或者
<ASP: CheckBox属性设置 />
CheckBox控件的主要属性和事件
(1) Checked属性
(2) Enabled属性
(3) Text属性
(4) TextAlign属性
(5) AutoPostBack属性
(6)CheckedChanged事件
CheckBoxList控件是一个CheckBox控件组,CheckBoxList控件使用语法:
<ASP: CheckBoxList 属性设置 > </ASP: CheckBoxList >或者
<ASP: CheckBoxList 属性设置 />
CheckBoxList控件的主要属性和事件
(1) AutoPostBack属性
(2)DataSource属性
(3) DataTextField属性
(4) DataValueField属性
(5) Items属性
(6)RepeatColumns属性
(7) RepeatDirection属性
(8) RepeatLayout属性
(9) SelectedIndex属性
(10) SelectedItem属性
(11) TextAlign属性
(12) SelectedIndexChanged事件
CheckBoxList控件的每个选项都有以下3个基本属性
(1) Text:表示每个选项的文本。
(2) Value:表示每个选项的选项值。
(3) Selected:表示该选项是否选中。
8 RadioButton控件和RadioButtonList控件
RadioButton控件使用语法:
<ASP: RadioButton 属性设置 > </ASP: RadioButton >或者
<ASP: RadioButton 属性设置 />
RadioButton控件的主要属性和事件
(1)AutoPostBack属性
(2) Checked属性
(3)Text属性
(4)GroupName属性
(5) TextAlign属性
(6) Enabled属性
(7)OnCheckedChanged事件
RadioButtonList控件是单个控件,可作为单选按钮列表项集合的父控件。RadioButtonList控件使用语法:
<ASP: RadioButtonList 属性设置 > </ASP: RadioButtonList >或者
<ASP: RadioButtonList 属性设置 />
RadioButtonList控件的主要属性和事件
(1) AutoPostBack属性
(2) DataSource属性
(3) DataTextField属性
(4) DataValueField属性
(5) Items属性
(6) RepeatColumns属性
(7) RepeatDirection属性
(8) RepeatLayout属性
(9) SelectedIndex属性
(10) SelectedItem属性
(11) OnSelectedIndexChanged事件
RadioButtonList控件的每个选项都有以下3个基本属性
(1) Text:表示每个选项的文本。
(2) Value:表示每个选项的选项值。
(3) Selected:表示该选项是否选中。
9 Image控件 Image控件使用语法:
<ASP: Image 属性设置 > </ASP: Image > 或者
<ASP: Image属性设置 />
Image控件的主要属性如下:
(1) ImageUrl属性
(2) AlternateText属性
(3) ImageAlign属性
10 ListBox控件 ListBox控件使用语法:
<ASP: ListBox 属性设置 > </asp: ListBox > 或者
<ASP: ListBox 属性设置 />
ListBox控件的主要属性和事件如下:
(1) AutoPostBack属性
(2) Rows属性
(3) Items属性:Items属性是ListBox控件各选项的集合。每个列表项都是一个单独的对象,具有自己的属性,见表。 (4) SelectionMode属性:该属性指明一次是否可多选。SelectionMode属性的各种取值极其含义见表。 (5) SelectedIndex属性
(6) SelectedIndices属性
(7) SelectedItem属性
(8) SelectedItems属性
(9) SelectedValue属性
(10) DataSource 属性
(11) DataTextField属性
(12) DataValueField属性
(13) SelectedIndexChanged 事件
11 DropDownList控件
DropDownList控件使用语法:
<ASP: DropDownList 属性设置 > </ASP: DropDownList > 或者
<ASP: DropDownList 属性设置 />
DropDownList控件的主要属性和事件如下:
(1)AutoPostBack属性
(2) Items属性
(3) DataSource属性
(4) DataTextField属性
(5) DataValueField属性
(6) SelectedIndexChanged事件
12 Table、TableRow和TableCell控件
Table控件使用语法:
<ASP: Table 属性设置 > </ASP: Table > 或者
<ASP: Table 属性设置 />
Table控件的主要属性如下:
(1)CellPadding属性
(2) CellSpacing属性
(3) Rows 属性
(4)GridLines属性,该属性的取值及其含义见表。(5)HorizontalAlign属性,该属性的取值及其含义见表 TableRow控件的主要属性如下:
(1) Cells属性
(2)HorizontalAlign属性
(3) VerticalAlign属性,表列出了可能的值及其含义。TableCell控件的主要属性如下:
(1) ColumnSpan属性
(2)HorizontalAlign属性
(3) RowSpan属性
(4) VerticalAlign属性
(5) Wrap属性 回首页
DropDownList加上OnSelectedIndexChanged方法,并加上AutoPostBack="true"后,会生成相应的js脚本,如:
<asp:DropDownList ID="dropdownlist1" runat="server" AutoPostBack="true"
onselectedindexchanged="dropdownlist1_SelectedIndexChanged">
得到的html代码是:
<select name="dropdownlist1" onchange="javascript:setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0)" id="dropdownlist1">
那么在你的其它代码里,只要调用相应的js代码就可以了,比如
<script type='text/javascript'>
function myevent(){
setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0);
}
</script>
javascript操作服务器控件主要是看服务器控件在HTML中被渲染成了什么。
Image控件应该是被渲染成了img标签,修改ImageUrl属性的方法为:
documentgetElementById("faceimg")src = 你要设置的值。但还要注意你设置的服务器控件的ID未必是最终渲染成的标签的ID。
其实这种简单的控件最好直接用相对应的Html标签加上runat="server"属性,就不会在用javascript操作的时候混乱了。
比如用<img alt="" src="" ID="faceimg" />替代。
问题一:如何安装安全控件 我来给你解决吧!按照以下步骤保证能够正常加载安全控件并安装。
1、打开Internet工具选项,选择高级选项卡。
2、在“安全”中找到“启用内存保护帮助减少联机攻击”
3、攻“启用内存保护帮助减少联机攻击”前面的勾去掉。
4、接下来关键一步:关闭所有IE,再打开IE就可以正常安装安全控件啦!!!
问题二:怎样查看已安装的控件 可以管理。
桌面-右击internet explorer-属性-程序。显示顶有三项可以选择,显示不同类型的控件,你可以对这些控件进行管理。
问题三:怎样在电脑上安装控件 1、打开Internet Explorer---菜单栏点“工具”---Internet选项--安全---自定义级别---安全设置---“ActiveX控件和插件下”的第5个“下载未签名的ActiveX控件”选择“提示”---确定!刷新您要安装的页面即可
2、打开Internet Explorer---菜单栏点“工具”---Internet选项--安全---自定义级别---把里面所有禁用的全部改为启用。
3、打开Internet Explorer---菜单栏点“工具”---Internet选项---高级选项里面选择允许运行和安装软件,即使签名无效”
4、打开Internet Explorer---菜单栏点“工具”---Internet选项--安全---受信任的站点---把该网站添加进去(注意把改为)
问题四:安全控件怎样安装 安全控件无法安装的解决办法1、你在升级安全控件时,请关闭你正在运行的其他程序,包括您正在使用的浏览器。2、请卸载这些软件,如瑞星系列、卡巴斯基、3721、安全卫士360、kv系列杀毒软件、股票软件、eBay易趣、dudu下载加速器、中文上网、青娱乐聊天软件、很棒小秘书、百度搜霸、百度超级搜霸、一搜工具条、网络猪、划词搜索。3、请再检查下您的电脑是否还安装了其他的一些软件,这些软件在安装提示中明确提示会影响IE功能的和在用户不知情的情况下自动安装的软件,一律卸载。其中“用户不知情的情况下自动安装的软件”,可以通过一下方法查看:点击〔开始〕-》〔控制面板〕-》〔添加或删除程序〕-》〔更改或删除程序〕,此时会有一个程序列表出现,找出用户没有明确安装过的软件,直接卸载,如提示无法卸载或找不到程序文件,基本可以定义是流氓软件了,此时只有格式化C盘(系统盘),重新安装系统4、IE浏览器设置全部恢复为默认值:1)点击浏览器菜单栏上的工具-》Internet选项-》安全:如〔默认级别〕按钮不是灰的,就直接点击,如果是灰的,不用做任何操作。2)、再点击〔高级〕标签,点击〔还原默认设置〕5、安装控件时,如发现机器很慢,建议将其他程序全部关闭掉,然后安装软件。6、安全控件可以在IE55以上的任何版本IE浏览器成功安装,并且能正常运行,IE内核的浏览器也是支持的,需要正确设置。7、确认使用Administator用户登录操作系统,或者是Administrators组中的用户,需要保证自己登录的用户对NTFS分区格式的硬盘具有写权限。8、可能是将IE浏览器或其他一些IE插件设置阻止了ActiveX控件引起的,具体操作请看如下这些截图9、建议出现安装问题下载EXE安装包来安装,安装这个安装包会尽量帮您解决所遇到的问题。10、使用路由器或代理服务器上网的电脑操作安装安全控件,也有可网线不通过路由器上网操作安装,如果是使用代理服务器上网的那只有请教您的IT工程师来帮您解决了。11、如果还是不行,只能建议您重装系统了。重装系统时有两点必须注意:1)必须格式化C盘(也就是客户的系统盘),然后重装。
问题五:请问怎么安装新的控件? 那么,在我的控件栏中会有响应的组件吗?为什愦我安装的控件,老是编译通不过? 查看原帖>>
问题六:ie activex控件怎么安装 使用命令regsvr32exe进行注册安装,主要步骤:
1。将activex文件copy到system32文件夹下,例如将IC卡读卡器web控件yw60xocx复制到C:/windows/system32文件夹下
2 在cmd下输入:regsvr32 yw60xocx就可以了,提示成功。不过由于系统有32位和64位之分,ie下的activex控件也分为32位和64位,要却别对待。不过IC卡读卡器控件YW60xocx提供自动安装模式,自适应32位和64位。
问题七:怎么下载安装个人网上银行控件 你的IE把控件下载弹出窗口阻止了,点击菜单栏中-工具,选择关闭弹出窗口阻止程序,就ok了
问题八:电脑不能安装控件了怎么回事? 1,安装安全控件需要管理员权限,请确认您使用的帐户在 Administrators 组里,此外需要保证自己登录的用户对NTFS分区格式的硬盘系统目录(Windows)具有写权限。
2,在安装安全控件时,请关闭您正在运行的其他程序,例如旺旺/贸易通等,如果运行下载的安装包,包括您正在使用的浏览器都要关闭,这样可以尽量避免安装程序提示您重启操作系统
3,IE浏览器设置恢复为默认值:
1)点击浏览器菜单栏上的工具――Internet选项――安全,选择internet区域,如〔默认级别〕按钮不是灰的,就直接点击,如果是灰的,不用做任何操作
2)依次选择4个区域(Internet/本地Internet/受信任的站点/受限制的站点),并且点击按钮;
3)点击〔高级〕标签,点击〔还原默认设置〕
问题九:网银里面安全控件怎么安装? 安全控件无法安装的解决办法
1、你在升级安全控件时,请关闭你正在运行的其他程序,包括您正在使用的浏览器。
2、请卸载这些软件,如瑞星系列、卡巴斯基、3721、安全卫士360、kv系列杀毒软件、股票软件、eBay易趣、dudu下载加速器、中文上网、青娱乐聊天软件、很棒小秘书、百度搜霸、百度超级搜霸、一搜工具条、网络猪、划词搜索。
3、请再检查下您的电脑是否还安装了其他的一些软件,这些软件在安装提示中明确提示会影响IE功能的和在用户不知情的情况下自动安装的软件,一律卸载。其中“用户不知情的情况下自动安装的软件”,可以通过一下方法查看:点击〔开始〕-》〔控制面板〕-》〔添加或删除程序〕-》〔更改或删除程序〕,此时会有一个程序列表出现,找出用户没有明确安装过的软件,直接卸载,如提示无法卸载或找不到程序文件,基本可以定义是流氓软件了,此时只有格式化C盘(系统盘),重新安装系统
4、IE浏览器设置全部恢复为默认值:1)点击浏览器菜单栏上的工具-》Internet选项-》安全:如〔默认级别〕按钮不是灰的,就直接点击,如果是灰的,不用做任何操作。2)、再点击〔高级〕标签,点击〔还原默认设置〕
5、安装控件时,如发现机器很慢,建议将其他程序全部关闭掉,然后安装软件。
6、安全控件可以在IE55以上的任何版本IE浏览器成功安装,并且能正常运行,IE内核的浏览器也是支持的,需要正确设置。
7、确认使用Administator用户登录操作系统,或者是Administrators组中的用户,需要保证自己登录的用户对NTFS分区格式的硬盘具有写权限。
8、可能是将IE浏览器或其他一些IE插件设置阻止了ActiveX控件引起的,具体操作请看如下这些截图
9、建议出现安装问题下载EXE安装包来安装,安装这个安装包会尽量帮您解决所遇到的问题。
10、使用路由器或代理服务器上网的电脑操作安装安全控件,也有可网线不通过路由器上网
操作安装,如果是使用代理服务器上网的那只有请教您的IT工程师来帮您解决了。
11、如果还是不行,只能建议您重装系统了。重装系统时有两点必须注意:1)必须格式化C盘(也就是客户的系统盘),然后重装。2)重装后必须安装杀毒软件或防火墙,XP系统请升级到SP2
0条评论