【问题标题】:Is it possible to change the postback value of HTML button element on IE?是否可以更改 IE 上 HTML 按钮元素的回发值?
【发布时间】:2009-06-03 14:33:42
【问题描述】:

我知道 StackOverflow 上已经有另一个帖子 (here),但它并没有完全解决我的问题。 我想在 ASP.net 上使用 HTML 按钮元素 (),因此我创建了一个自定义服务器控件来呈现此类。之所以使用按钮,主要是为了能够创建图片按钮。您现在可以争辩使用 CSS 和 JavaScript 等来“模拟”图像按钮。那么问题是主要要求之一是该站点具有 由于可访问性原因,仍然在没有 JavaScript 的情况下运行

理论上,使用 HTML 按钮元素的方法是可行的,但是 IE 使用按钮的内容作为回发值存在问题。这是一个主要问题,因为它会在 IE 上引发错误,而且将整个 img 标签内容发送回服务器在某种程度上是一种性能杀手。可以通过将页面的ValidateRequest 设置为 false 来避免运行时引发的错误。然而,这是不可取的,因为许多不想将其添加到所有页面的程序员将使用新的服务器控件。

所以我的问题是是否有可能影响回发值,或者这是否是纯粹的浏览器决定。顺便提一句。我不能指望我的用户只使用 Firefox 或 IE8(我听说这显然解决了这个问题)。

非常感谢您的帮助。

【问题讨论】:

  • 愚蠢的问题,在这种情况下input type=image 有什么问题?除了为了使用按钮(用于图像)之外,我没有提到需要使用按钮。

标签: asp.net html button


【解决方案1】:

您也许可以使用 JavaScript 破解它,但可靠的方法是忽略该值并利用 name 属性。

http://www.dev-archive.net/articles/forms/multiple-submit-buttons.html 用几种语言的示例对此进行了介绍。

【讨论】:

  • 抱歉,我不能依赖 JavaScript,否则我早就解决了。我现在在我的帖子中突出显示了它..
  • 我只提到了 JavaScript。建议的解决方案不使用它。
  • 嗯...忽略该值对我来说不是问题,并且可能会起作用。但主要问题是,由于 IE 发布了整个内容,因此可能还有 HTML 标签(如果包含图像),Asp.net 服务器将由于发生 EventValidation 引发异常,通知可能危险的内容已被提交。当然我可以禁用它,但只是在页面级别,这是不可取的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
相关资源
最近更新 更多