当前位置: 首页 > 面试题库 >

Java部分回发

薛淮晨
2023-03-14
问题内容

我在SO中找不到类似的东西。

在ASP.NET中,有什么提示可以导致我在UpdatePanel中使用Javascript进行部分回发吗?
我试过了,__doPostBack()但它做了完整的回发。
我可以用一个虚拟按钮欺骗它,click()然后开火然后以这种方式处理部分回发,但是我想要一种比欺骗更优雅的方法

谢谢。

编辑:我发现此不为所动buddha.wordpress.com/2007/11/26/…但是我无法使它工作=(
我希望这种方法可以工作;对我来说是完美的!到目前为止,我可以使用最后一种方法是获取对计时器的引用。在最初禁用计时器的情况下,启动计时器似乎不会引起回发;但是,如果没有Ajax,如果我只是在最初启用了计时器,它就会以适当的间隔发回;为什么Ajax调用不能引起它?


问题答案:

您可以将AsyncPostBackTrigger与UpdatePanel一起使用来执行此操作。因为您需要可以触发事件的内容,所以使用按钮非常简单,并且隐藏起来很好。

如果这是您的标记:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="UpdatePanel1_Load">
    <ContentTemplate>
        <!-- Contents... -->
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ReloadThePanel" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
<asp:Button ID="ReloadThePanel" runat="server" style="display:none;" />

当您想要更新面板时,只需要调用:

__doPostBack('<%=ReloadThePanel.ClientID %>', null);

这将使ASP.NET认为已单击ReloadThePanel,并且由于触发器而自动生成的JavaScript将处理其余部分。

编辑

您可以对UpdatePanel进行纯JavaScript更新,而无需任何触发器或隐藏按钮。您只需要__doPostBack使用客户端ID作为第一个参数进行调用。

__doPostBack('<%=UpdatePanel1.ClientID %>', null);


 类似资料:
  • 问题内容: 我正在构建RESTful API,并希望为开发人员提供选择以在JSON响应中返回哪些字段的选项。 这篇博客文章显示了几个API(Google,Facebook,LinkedIn)如何允许开发人员自定义响应的示例。这称为部分响应。 一个示例可能看起来像这样: 在上面的示例中,API应该返回用户“ 123”的userId,fullName和title字段。 我正在寻找有关如何在我的REST

  • 我是Java新手,所以一直在尝试将一些旧的JS练习翻译成Java。

  • 我有Spring > 不应该失败主事务,在我的例子中是cteateSmth() 如果失败,应该回滚它自己的事务 service1.cteatsmth(); 在上面的例子中,即使尝试对cretePartA()进行捕获包装,整个cteateSmth()事务也将回滚。 我尝试使用REQUIRES_NEW来实现这一点,但在这种情况下似乎无法回滚cretePartA()操作。 我试图不为cretePartA

  • 我试图返回一个数字的一部分,如下所示: 我还想获得不同索引的数字的一部分,例如从2到5。在Python中,这是非常简单的,但由于某些原因,在Java中要做到这一点就不那么容易了。

  • 我有一个简单的liquibase变更集(下面),我正在尝试测试它。 这是应用程序启动后运行的第二个更改日志。 我故意编写了一个错误代码,其中我尝试创建列“new_2”两次,以强制回滚变更集中的所有条目:ADD_COL_2 然而,即使生成了回滚文件,并且我看到: 信息4/13/16 12:17 AM:LiquiBase:classpath:db/changelog/db.changelog-mult

  • 声明我应该能够使用中选择s.message来查询实体,这确实适用于控制台。 然而,我真正想做的是在返回列表中只返回实体的特定属性,就像这样: 不过,这会出错,根本没有真正的错误消息。我可以看到Hibernate运行了这个查询: 的传统方法工作正常: