asp.net夜话之六:asp.net基本控件(二)
mg''); img.setAttribute(''src'',''file://localhost/''+x.value); img.setAttribute(''width'',''120''); img.setAttribute(''height'',''90''); img.setAttribute(''id'',''img''); document.getElementById(''form1'').appendChild(img); } setTimeout("hidden()",5000); //5秒之后执行隐藏图片的javascript方法 } else { alert("您选择的似乎不是图像文件。"); } } //隐藏照片 function hidden() { var y = document.getElementById("img"); if(y) { document.getElementById(''img'').style.display="none"; } } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="file" runat="server" onchange="previewImage()" onmouseover="previewImage()" /> <asp:Button ID="btnUpload" runat="server" Text="上传" /></div> </form> </body> </html> 说明一下,在这个页面里form表单的id是form1,上传控件的id是file,所以在客户端用到了document.getElementById()这个方法来获取相关的控件的属性值,并且通过javascript脚本动态添加了一个<img id=”img”>的控件,然后我们操纵它的src属性来决定显示哪张图片,利用它的style.display属性来决定是否显示。 以下预览时的效果: 预览5秒钟之后,不再带有预览功能的效果: 注意:如果我们要上传文件,需要给表单增加enctype="multipart/form-data"属性,如果我们使用了FileUpload控件时,生成HTML代码时表单会自动加上这个属性。 Literal控件 Literal控件是一个类似于Label控件的控件,都是用来呈现文字的。前面我说过,虽然通过Response.Write()方法可以直接输出文字,但是这样输出的文字有可能在<html></html>标记之外,破坏了网页的结构,使之不再符合XHTML标准。 对于静态文字,我们可以直接在HTML代码中书写即可,而没有必要使用Literal 控件或 Label 控件。但是在某些情况下我们却希望在某个位置设置一些文字,那么我们就可以先在期望输出文字的地方放置一个Literal控件,将来在程序代码中根据程序逻辑动态设置Literal控件的Text属性来控制要输出的文字。 尽管在某种程度上,Literal 控件用法与 Label 控件用法类似,但是不同的是 Literal 控件不能用于将css样式应用于显示的文本。 另外Literal 控件还有一个Mode属性,它用来控制如何呈现Literal 控件中的内容。这个属性是一个枚举,有三个枚举值: PassThrough:直接呈现Literal 控件中的内容。 Encode:控件的内容转换为 HTML 编码的字符串。 Transform:从控件的内容中移除不受支持的标记语言元素。如果 Literal 控件在支持 HTML 或 XHTML 的浏览器上呈现,则不会修改该控件的内容。 举例说明,假如Literal的Text属性为“<abc>http://blog.csdn.net/zhoufoxcn</abc>”,即如下代码: <table border="1" width="600" cellpadding="1" cellspacing="1"> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |