当前位置: 首页 > 编程语言 > C#

__doPostBack在Firefox中不起作用share

时间:2023-04-10 21:56:56 C#

__doPostBack在Firefox中不起作用__doPostBack在firefox3中不起作用(未检查2)。在IE6和7中一切正常,甚至在Chrome中也能正常工作吗?这是一个简单的asp:LinkBut??ton,带有OnClick事件javascript确认正在触发,所以我知道javascript正在运行,它特别是__doPostBack事件。页面上还有很多,只是不知道我是否可以发布整个页面。我已经为控件启用了页面加载事件。有任何想法吗?我希望这是正确的方法,但我找到了答案。我想我会把它放在这里而不是在stackoverflow上“回答”似乎它与嵌套的ajax工具包UpdatePanel有关。当我卸下顶部面板时,它已修复。如果其他人遇到同样的问题,希望这会有所帮助。我仍然不知道到底是什么导致了这个问题,但这对我来说是解决方案。检查您的用户代理字符串。同样的事情发生在我身上一次,我意识到这是因为我正在测试“googlebot”的一些页面。生成的JavaScript取决于知道用户代理是什么。来自http://support.mozilla.com/tiki-view_forum_thread.php?locale=tr&comments_parentId=160492&forumId=1:要重置用户代理字符串,请在地址栏中输入about:config并按Enter。这将显示首选项列表。在过滤器框中输入general.useragent,这应该会显示一些偏好(可能有4个)。如果设置了任何状态用户,请右键单击首选项并选择“重置”我在Firefox中遇到了同样的问题(__doPostBack不工作)-导致浪费了一个小时的时间。问题原来是HTML。如果您像这样使用HTML:其中“doSomethingThenPostBack”只是一个调用__doPostBack的JavaScript方法,表单将不会在Firefox中发布。它将在IE和Chrome中回发。要解决此问题,请确保您的HTML是:关键是类型属性。它必须在Firefox中“提交”才能使用__doPostBack。其他浏览器似乎并不关心。希望这可以帮助其他人解决这个问题。这可能看起来很基本,但是您确定您的firefox设置没有设置为干扰回发吗?有时我会遇到这样的问题,因为我在调试会话中得到了奇怪的浏览器配置。是因为你做了退货确认吗?似乎return语句应该阻止其余代码触发。我认为if语句将起作用if(!confirm(...)){returnfalse;}_doPostBack(...);您可以在链接的OnClick上发布所有js代码吗?编辑:啊哈,忘了链接按钮会发出这样的代码你在处理PageLoad事件吗?如果是这样,请尝试以下if(!isPostBack){//dosomething}elseif(Request.Form["__EVENTTARGET"].ToLower().IndexOf("myevent")>=0){//调用适当的函数。}检查您是否以这种方式接收呼叫,如果是,则事件可能未连接并且需要显式调用。您对“Enabled='false'”有什么期望?我在某些网络表单上遇到过萤火虫问题,这与可能与回发有关的网络分析器有关。无论有没有OnClientClick事件,它仍然不起作用。_doPostBack事件是由.NET自动生成的javascript。function__doPostBack(eventTarget,eventArgument){if(!theForm.onsubmit||(theForm.onsubmit()!=false)){theForm.__EVENTTARGET.value=eventTarget;theForm.__EVENTARGUMENT.value=eventArgument;theForm.submit();}}*&95;是下划线,似乎是stackoverflow代码块格式化的问题。现在我考虑了一下,正如我在上次编辑中提到的,您想删除客户端点击属性中的javascript:。这不是必需的,因为onclick事件按原样是javascript。试一试,看看它是否有效。似乎它与嵌套的ajax工具包UpdatePanel有关。当我卸下顶部面板时,它已修复。如果其他人遇到同样的问题,希望这会有所帮助。我在我正在处理的网络应用程序中遇到了同样的问题,我已经尝试解决了几个小时。最后,我制作了一个新的Web表单,其中删除了一个链接按钮,并且效果很好!然后我注意到以下问题:...我将顺序切换为以下,并立即修复:...IE无论如何都没有问题(无论如何我都注意到了)。我有一个类似的问题。事实证明,Akamai正在修改用户代理字符串,因为应用了不需要的设置。这意味着某些.NET控件无法正确呈现__doPostBack代码。这个问题已发布在这里。@Terrapin:你完全正确(无论如何对我来说)。我在运行UserAgentSwitcher时无意中选择了Googlebot2.1代理。在ReportingServices2008中,iframe导致报表的实际呈现大约为300x200像素,而在ReportingServices2008R2中,我在错误控制台中收到“__doPostBack未定义”错误。切换回默认用户代理解决了我所有的问题。我在使用Firefox时遇到了同样的问题。除了使用__doPostBack()之外,您可以使用jQuery.trigger()方法来触发对您的回发事件注册为点击操作的元素的点击吗?例如,如果您的aspx页面中有此元素:控制器中的回发事件:protectedvoidbtnMyPostback_Click(objectsender,EventArgse){//domypostbackstuff}您可以通过调用以下方式进行回发:$("#btnMyPostback").trigger("点击");如果您需要对Page_Load执行某些操作,这将导致触发Page_Load事件。以上是C#学习教程:__doPostBack在Firefox中不起作用。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: