代码之家  ›  专栏  ›  技术社区  ›  Itay.B

AJAX DIV定位

  •  0
  • Itay.B  · 技术社区  · 14 年前

    我有一个ASPX页面,上面有Ajax面板和一个按钮。 这是我的按钮:

    <asp:Button ID="Button1" runat="server" OnClientClick="javascript:SetValues()" onclick="Button1_Click" Text="Button" />
    

    当我单击按钮时,调用onclientClick事件上的setValues()函数。此功能将更改屏幕上的DIV位置。 button1_-click方法正在服务器上运行,并用数据加载DIV。

    问题是“setValues()”所做的工作被取消,因为DIV在从服务器返回后,会返回到它在屏幕上的原始位置。

    3 回复  |  直到 14 年前
        1
  •  0
  •   Daniel Ballinger    14 年前

    一个选项是在Ajax面板更新后调用setValues()(我假设您在这里使用的是updatepanel)。

    <script type="text/javascript">
    function EndRequestHandler(sender, args) {
       if (args.get_error() == undefined)
       {
           SetValues();
       }
       else
       {
           alert("There was an error" + args.get_error().message);
       }
    }
    function load() {
       Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    }
    </script>
    

    当页面已加载以注册JavaScript事件时,需要启动加载函数。

    <body onload="load()">
    
        2
  •  1
  •   Zachary    14 年前

    你想让服务器端发生什么?您是否考虑执行Ajax回发以在服务器上发送/处理数据?这将允许客户端JS在服务器接收和处理数据时更改UI。

    看看这个 article 有关使用jquery触发服务器端处理的详细信息。

        3
  •  0
  •   Sandeep Singh Rawat    14 年前

    使用隐藏的服务器控件和隐藏控件的读/写值。值将在回发过程中持久化。