【发布时间】:2013-02-01 23:05:34
【问题描述】:
我在为按钮实现自定义 WebControlAdapter 时遇到了一点问题。我正在按照推拉门模式输出以下 HTML:
<button value="submit" name="Button1" id="Button1" type="Submit" onclick="__doPostBack('Button1','')"><span>Button</span></button>
代替标准:
<input id="Button1" type="submit" value="Button" name="Button1"/>
正在这样做(以及其他原因),因此按钮将根据其中包含的文本调整大小,因此不仅仅是出于审美原因。此方法在除 IE7 之外的所有浏览器中运行良好,我之前假设(IE8 运行良好)。我已经将问题追溯到 IE7 回发按钮元素的内容而不是值的事实。这意味着正在返回 span 标记,导致 ASP.NET 抛出:
[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (Button1="<SPAN>Button</SPAN>").]
这是正确的行为。我意识到我可以使用 Page.ValidateRequest 属性禁用此行为,但是由于这是一个现有的应用程序,这将导致每个页面上的重大更改以手动保护应用程序免受跨站点脚本攻击。
有没有人知道我可以在 IE7 和更早版本中使用这种方法?
任何想法都将不胜感激。
提前致谢。
【问题讨论】:
标签: asp.net internet-explorer-7