合法提交Html标签(2)

提交合法的HTML标签(2)

上面用到了一个Inherits属性,它用来设置页面与后台代码中相关联的类。我们打开CodeFile属性所指的文件,会找到该属性所指的类名。但是这里仅仅存放的是用户定义的事件处理程序,并没有任何服务器端对象的声明。

不过这里我们发现该类是一个partial(部分)类,这说明系统还隐藏着一个文件,存放着该类的另一部分。而在这个隐藏的文件里有着所有服务器端控件的声明和属性设置代码。这两个部分类已经完整地声明了一个继承自Page类的类。

作为页面,因为其最终也要被系统解释成一个类,所以这里页面和后台代码类的关系是继承关系。所以,这里Inherits属性设置的是被继承的类。

2. 实例描述

作者闲得无聊,自己写了一个简单HTML编辑控件。

效果还不错,可就是用在ASP.NET程序中提交数据的时候老是说有潜在的危险。检查代码并没有发现什么危险,只是提交的内容中有一些换行标签“<br>”。这是想让输入的内容在展示的时候换个行而已,却一直通不过。

很无奈!不过,查过资料才知道,在这个需要提交信息的页面的@Page指令中简单地设置一下就好了。

这里我们为了更直观地展示效果,就直接在文本框中输入HTML文本进行提交,而不再使用HTML编辑控件了。

3. 实例应用

【例3-1】我想提交合法的HTML标签。

(1) 我们先新建一个项目,新建一个Web窗体页面。

(2) 在前台页面拖入一个文本框,ID属性设置为txtContent。

(3) 在前台页面拖入一个命令按钮,ID属性设置为btnSubmit,Text属性设置为Submit。

(4) 换行,在页面中拖入一个标签控件,ID属性设置为lblShow。

(5) 在页面设计视图中双击命令按钮btnSubmit,添加单击事件。

页面代码如下:

 

(6) 用户在单击命令按钮的时候,文本框里的值应当展示到标签里,这里我们修改命令按钮btnSubmit的事件处理程序,代码如下:

 

(7) 最后当然还要设置一下页面上的@Page指令了,我们需要添加一个ValidateRequest属性,并设置其值为false。修改后的@Page指令代码如下:

 

4. 运行结果

保存文件,运行项目,访问该页面。

我们先在文本框中输入“Hello!<br>你好!”字符串,然后单击Submit按钮,结果如图3-1所示。

可以看到在标签展示出来的结果中“Hello!”和“你好!”之间已经换了一行。

不过,至此我们并没有看到修改该属性的好处,我们删掉@Page指令中对ValidateRequest属性的设置,然后再输入“Hello!<br>你好!”,单击Submit按钮,结果如图3-2所示。

 
图3-1 运行结果
 
图3-2 删除ValidateRequest属性后的运行结果

可以看到,出错了。检测到有潜在危险的Request.Form值。

5. 实例分析

源码解析: 本实例创建一个TextBox控件、一个Button控件和一个Label控件,在单击Button控件提交表单的时候,将TextBox控件里的值使用Label控件展示出来。

在服务器提交过程中,系统自动验证请求的安全性,如果检查到有HTML标签,则系统会认为该次请求是不安全的。我们需要关闭本页面对请求数据的验证,设置本页面@Page指令的ValidateRequest属性值为false。

时间: 2024-11-17 21:32:48

合法提交Html标签(2)的相关文章

解决jquery使用ajax提交button标签时重复提交了。

这几天遇到一个jquery的ajax问题.相关代码是 <form action="xxx" method="post"> <button type="submit" class="tijiao">提交</button> </form> js为 $(".tijiao").click(function(){ $.post(xxx, $('.alert-form')

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

找到一篇很详细的Git教程,真的很不错,推荐!!! GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  . GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'description' ; -- 本地git仓库关联GitHub仓库 : git remote add origin [email 

HTML标签解释大全

一.HTML标记 说明:指定了 HTML 文档遵循的文档类型定义(DTD). 标签:a 说明:标明超链接的起始或目的位置. 标签:acronym 说明:标明缩写词. 标签:address 说明:特定信息,如地址.签名.作者.此文档的原创者. 标签:applet 说明:在页面上放置可执行内容. 标签:area 说明:定义一个客户端图像映射中一个超级链接区域的形状.坐标和关联 URL. 标签:attribute 说明:以对象的形式代表了 HTML 元素的标签属性或属性. 标签:b 说明:指定文本应以

jsp自定义分页标签

1.web工程的整体结构 2.Eclipse中tld文件的构建方法3.编码 package mytags; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class PagerTag extends TagSupport { /** * */ private static final long serialV

Git帮助文档阅读笔记----第二章-第五节---打标签

本节我们一起来学习如何列出所有可用的标签,如何新建标签,以及各种不同类型标签之间的差别. 列显已有的标签 直接运行 git tag 即可: 可以用特定的搜索模式列出符合条件的标签.在 Git 自身项目仓库中,有着超过 240 个标签,如果你只对 1.4.2 系列的版本感兴趣,可以运行下面的命令: $ git tag -l 'v1.4.2.*' v1.4.2.1 v1.4.2.2 v1.4.2.3 v1.4.2.4 新建标签 轻量级的(lightweight) 含附注的(annotated)(建议

struts 标签库注解

在struts2中有着一套像html一样的标签,俗称struts2标签,大多数公司使用ssh都是使用html标签,但为了保持项目的统一性,有的公司还是使用的struts2的标签,下面是一些常用的struts2标签:  a    a标签创建一个HTML超链接,等价于HTML 的<a  href="".... 示范代码: <s:a href="login.action">登陆</s:a>  action    使用action标签 可以允许

一些css和javascript还有html的属性方法和标签

span 一个没有语义的行内标签 base这个标签可以设置超链接的默认跳转方式 title 当它是一个标签时用来定义网站的名称,当它是属性时可以用来设置图片的提示文本 class 定义标签的类名 id 定义标签的Id名 active 用来设置元素被激活时的样式的伪类,一般不建议使用伪类实现行为层 stylesteet 层叠样式表 focus 设置元素获得焦点时样式的伪类,也不建议使用了 visited 设置超链接被访问过后的样式的伪类 target 设置超链接的跳转方式 _blank 是targ

Git标签

Git 也可以对某一时间点上的版本打上标签.人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做. 1.列显已有的标签 列出现有标签的命令非常简单,直接运行 git tag 即可: git tag v0.1 v1.3 显示的标签按字母顺序排列,所以标签的先后并不表示重要程度的轻重. 我们可以用特定的搜索模式列出符合条件的标签.在 Git 自身项目仓库中,有着超过 240 个标签,如果你只对 1.4.2 系列的版本感兴趣,可以运行下面的命令: git tag -l 'v1.4.2.*'