在更新面板中提交表单后运行javascript?

2024-05-26

这真让我抓狂!我在这里阅读了至少 5 个与我的问题密切相关的问题,可能还通过谷歌搜索阅读了 5 页左右的内​​容。我就是不明白。

我试图在用户填写“已提交注册”的表单后出现一个 jqueryui 对话框,然后重定向到另一个页面,但我一生都无法让任何 javascript 工作,甚至没有一个警报。

这是我的更新面板:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upForm" runat="server" 
    UpdateMode="Conditional" ChildrenAsTriggers="False">
    <ContentTemplate>
               'Rest of form'
         <asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 
              <p>Did register Pass? <%= registrationComplete %></p>
    </ContentTemplate>
</asp:UpdatePanel>

我想要执行的 Jquery:(现在它位于标记的头部,autoOpen 设置为 false)

<script type="text/javascript"> 
function pageLoad() {

    $('#registerComplete').dialog({
        autoOpen: true,
        width: 270,
        resizable: false,
        modal: true,
        draggable: false,
        buttons: {
          "Ok": function() {
          window.location.href = "someUrl";
        }
        }
    });

}
     </script>

最后我的代码背后:(注释掉我尝试过的所有事情)

Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSubmit.Click     
      'Dim sbScript As New StringBuilder()'
           registrationComplete = True
            registrationUpdatePanel.Update()

            'sbScript.Append("<script language='JavaScript' type='text/javascript'>" + ControlChars.Lf)'
            'sbScript.Append("<!--" + ControlChars.Lf)'
            'sbScript.Append("window.location.reload()" + ControlChars.Lf)'
            'sbScript.Append("// -->" + ControlChars.Lf)'
            'sbScript.Append("</")'
            'sbScript.Append("script>" + ControlChars.Lf)'

            'ScriptManager.RegisterClientScriptBlock(Me.Page, Me.GetType(), "AutoPostBack", sbScript.ToString(), False)'
            'ClientScript.RegisterStartupScript("AutoPostBackScript", sbScript.ToString())'
                            'Response.Write("<script type='text/javascript'>alert('Test')</script>")'
            'Response.Write("<script>windows.location.reload()</script>")'
End Sub

我试过了:

  • 将变量从服务器传递到 客户端通过内联 中 head 标签的 javascript 块。

  • 将相同的代码放入脚本中
    updatePanel 内的标签。

  • 尝试使用
    注册客户端脚本块和
    注册启动脚本

  • 只是做一个 Response.Write 与 script标签写在里面。

  • 尝试了各种推杆组合 整个 jquery.dialog 代码在 注册启动脚本,或者只是
    尝试更改自动打开
    属性,或者只是调用“open”
    it.

我什至无法获得使用其中任何一个的简单警报,所以我做错了一些事情,但我只是不知道它是什么。

这是我所知道的:

  • Jquery 甚至可以正确绑定 在异步回发上,因为 div 对话框的容器是 总是看不见的,我看到了类似的 在这里发帖说明这是造成的 一个问题,这里不是这种情况。

  • 使用 page_load 代替
    document.ready 因为这是应该的 在异步和正常情况下运行
    回发,所以这不是问题。

  • 更新面板正在更新 正确地因为<p>Did register Pass? <%= registrationComplete %></p>更新为 true 之后我 提交表格。

那么我怎样才能做到这一点呢?我想要的是 -> 单击更新面板内的提交按钮 -> 运行服务器端代码来验证表单并插入数据库 -> 如果一切成功,则弹出 jquery(模式)对话框,说嘿它有效。


您可以查看结束请求事件 http://msdn.microsoft.com/en-us/library/bb383810.aspx:

function pageLoad() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, e) {
        // this function will be executed after the update panel finished 
        // the AJAX request, so here you may open your jQuery dialog

        if (e.get_error()) {

        } else {

        }
    });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在更新面板中提交表单后运行javascript? 的相关文章

随机推荐

  • Python SQLAlchemy 用户身份验证失败

    我尝试使用 SQLAlchemy 连接 PostgreSQL 数据库 我创建了一个像这样的新角色 首先 我使用以下命令登录到 postgres 帐户 sudo i u postgres 接下来 发出命令 createuser interac
  • Cordova 构建 - 无法解析 com.android.tools.build:gradle:1.5.0

    升级我的机器 Ubuntu 15 10 的 cordova 和 npm 后 我无法使用 cordova 构建新项目 构建指责 graddle 中存在错误 我做了一些研究并找到了一些可能的解决方案 解决方案例如更改版本和 url graddl
  • checked="checked" 在 Chrome 中不起作用

  • 我的石墨中的 Logstash 指标在哪里?

    这可能是一个菜鸟问题 但我很难找到答案 所以我希望你们能在这里帮助我 我有一个running logstash实例将日志从一台服务器传送到另一台运行 Graphite 的服务器 这是我的输出配置 output stdout codec gt
  • 如何使用 Google App Engine 和 Python 创建 REST 服务?

    我想创建一个 RESTFUL Web 服务 通过访问的 URL 获取请求 然后为该客户端返回适当的文档 例如 如果它是一个天气应用程序 我想通过网络浏览器获取亚特兰大的天气 我会访问http weatherapp appspot com T
  • Pyspark dataframe:如何按组应用 scipy.optimize 函数

    我有一段运行良好的代码 但使用 pandas 数据帧 groupby 处理 但是 由于文件很大 gt 7000 万组 我需要转换代码以使用 PYSPARK 数据框架 这是使用 pandas dataframe 和小示例数据的原始代码 imp
  • 如何使用哈希数组填充 select_tag?

    在 Rails 3 2 应用程序中 我尝试添加一个选择字段 该字段从外部 API 调用获取数据 该数据作为哈希数组返回 name gt NameA id gt 001 name gt NameB id gt 002 我如何使用这些数据来构造
  • git:检查标签,修改某些内容,然后再次标记它

    我觉得我应该知道这一点 但我很困惑 我在 github 上分叉了一个存储库 我需要的是签出一个标签 称为 v1 0 5 修改文件上的语句 使用名为 1 0 5 的新标签 不带 v 重新标记该状态 然后执行对 master 进行同样的更改 让
  • 使用 Apache CXF 更改 WSDL xsd:complexType 名称

    我使用 Apache CXF 发布 Web 服务 即时 生成 WSDL 这很好用 但我想更改生成类型的命名约定 由于服务客户端 C 基于 WSDL 生成代码 因此默认的 xsd complexType 命名会导致类型名称以小写字母开头 以下
  • 如何在产品listing页面显示产品详细描述?

    我想在产品列表页面上的简短描述后显示详细的产品描述 我正在做这个 但什么也没有出现 我也尝试过这个 Mage getModel catalog product gt load product gt getProductId gt getDe
  • Blade 如何处理脚本调用?

    大家好 我在脚本调用方面遇到问题 我在 Laravel 中使用 Blade 除了支持搜索和排序功能的脚本调用之外 一切都正常工作 这是我的层次结构和相应的相关代码 main blade php div class page containe
  • 即使 startService 不返回,peekService 也会返回 null

    我正在尝试使用 AndroidService from a BroadcastReceiver The Service生活在不同的应用程序中BroadcastReceiver 我的理解是 正确的方法是首先调用Context startSer
  • 如何使超类方法返回子类的实例

    我有一堂课叫Test和一个名为SubTest谁延伸Text 我想有一个方法Test将返回实例的类SubTest当接到电话时 我想做 SubTest test new SubTest setTest Hello setOtherTest Hi
  • Rspec : PG::ConnectionBad: PQsocket() 无法获取套接字描述符

    我运行了 rspec 大部分测试都失败了 我对他们遇到了同样的错误 即 Failure Error Unable to find matching line from backtrace ActiveRecord StatementInva
  • Apache Flink 动态设置 JVM_OPT env.java.opts

    是否可以设置自定义 JVM 选项env java opts提交作业时未在作业中指定conf flink conf yaml file 我问的原因是我想在 log4j 中使用一些自定义变量 我也在 YARN 上运行我的工作 我已经使用 CLI
  • 将 2 个不同表中的 2 个值相乘

    我正在尝试使用 SQL 将值 X 乘以值 Y 值 X 位于表 A 中 B 位于表 B 中 我找不到这个问题的答案 表交易 ID Transaction ID Total Amount 1 001 1200 2 002 1500 3 003
  • SHA-256 BigQuery 函数或 UDF

    有人有 UDF 或知道在 BigQuery 中支持 SHA 256 的计划吗 https cloud google com bigquery query reference syntax 16 https cloud google com
  • 在 firebase 函数中设置 dotenv

    我正在尝试将我制作的小型节点表达应用程序移动到 firebase 函数中 该文件有dotenv变量 早些时候我想如果我只是部署并依赖 dotenv 它会起作用 但那并没有发生 于是 我去了firebase的环境配置文章了解如何设置 env
  • 使用express/connect-redis在页面重新加载时抓取现有会话

    使用 connect express 和 socket io 我试图让我的应用程序在重新连接时获取会话详细信息 我的会话显然在客户端连接时工作 但如果我刷新浏览器上的页面 它会忘记所有内容 我的会话cookie肯定是一样的 所以不是那样的
  • 在更新面板中提交表单后运行javascript?

    这真让我抓狂 我在这里阅读了至少 5 个与我的问题密切相关的问题 可能还通过谷歌搜索阅读了 5 页左右的内 容 我就是不明白 我试图在用户填写 已提交注册 的表单后出现一个 jqueryui 对话框 然后重定向到另一个页面 但我一生都无法让