原文发布时间为:2009-11-14 —— 来源于本人的百度文章 [由搬家工具导入]

回发或回调参数无效 “HtmlSelect”不能有类型为“LiteralControl”的子级 出现这两个错误,一般是.NET2.0中遇见的错误,解决:

回发或回调参数无效。在配置中使用 <pages enableEventValidation= "true "/> 或在页面中使用 <%@ Page EnableEventValidation= "true " %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。
目前为止遇到的出现情况有两种:
一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
二是在下拉菜单中使用javascript 来更改内容(如AJAX),常见于省 市 联动菜单,在事件回发时提示该错误。

该错误只有在 vs 2.0 上才会出现,如果把 enableEventValidation= "true " 改成 enableEventValidation= "false " 错误是不会出事了但是在代码中确读不到此项的值。

第一种情况的话不能在form 里嵌form
第二种情况的解决办法 就是把 控制改成 Html 的控制,控件带上 runat= "server "

如:下面是我的一个解决办法

一个省份和城市的链动效果

<asp:DropDownList ID= "DropDownList3 " runat= "server " >
</asp:DropDownList>


<select name= "DDLcity " id= "DDLcity " runat= "server ">
<option value= "0 "> =请选择= </option>
</select>

然后在 后台 cs代码里用 Request.Form[ "DDLcity "]; 来接收城市的值。

====================

如果按照上面方法后,出现 “HtmlSelect”不能有类型为“LiteralControl”的子级 这个错误,则一般是以下两种原因:

1、出错原因:

<select>标签内,Id,以及<option>里的value值没有加引号.

处理结果:

把所有id,value加上双引号后,bug消失.

2、在<select id="xxx" runat="server">这一行后面加了注释<!--   -->
处理结果: 把注释去掉,或者注释不要写在select标记里面就不报错了。

最新文章

  1. javascript篇-----函数apply()和call()
  2. CentOS6部署VNC服务端
  3. RequireJS实例分析
  4. 《转载》三年建站之路走得一事无成 今来A5撞墙反思
  5. pycharm 皮肤主题及个性化设置
  6. 破解 RCA_CRACKME(解除隐藏按钮)
  7. 微软URLRewriter.dll的url重写在.net简单使用
  8. CF#52 C Circular RMQ (线段树区间更新)
  9. 实施软件测试风险分析&amp;回归用例刷选
  10. F数圈圈
  11. ES2017异步函数现已正式可用
  12. 【转】globk通常的应用
  13. ThreadLocal 原理和使用场景分析
  14. Python博客目录
  15. SpringBoot 之集成邮件服务.
  16. react组件选项卡demo
  17. Java学习笔记36(jdbc快速入门)
  18. idea的maven项目下spring与mybatis整合
  19. flask下载zip文件报错TypeError
  20. PAT甲级题解-1047. Student List for Course (25)-排序

热门文章

  1. SPOJ1043 GSS1(线段树)
  2. 【Python学习之十】yield之send方法
  3. PHP namespace、abstract、interface、trait使用介绍
  4. Nuxt.js 基础入门教程
  5. html下拉菜单栏代码
  6. 微信小程序 input组件type属性3个值的作用
  7. Admin站点
  8. C、C++混合调用——博客收藏
  9. C#开发模式——dll多级引用的问题
  10. opencv中的仿射变换