如何从 ASPX 控件事件调用 Javascript 函数?

2024-01-10

如何从 ASPX 控件事件调用 Javascript 函数?

具体来说,我想从 DropDownList 的 SelectedIndexChanged 事件中调用该函数。


每当我看到这种问题时,我都会有点紧张,因为十有八九这意味着提问者并不真正明白发生了什么。

当您的 SelectedIndexChanged 事件在服务器上触发时,它作为完整回发。这意味着要运行该代码,页面加载代码的整个其余部分也必须运行。

更重要的是,代码作为来自浏览器的新 http 请求的结果运行。就浏览器而言,结果中将返回一个全新的页面。旧页面和旧 DOM 将被丢弃。因此,当您的 SelectedIndexChanged 事件代码运行时,您要调用的 JavaScript 函数在浏览器中甚至不存在。

那么该怎么办呢?您有几个选择:

  • 更改页面,以便控件根本不会回发到服务器。在客户端完全用 JavaScript 检测更改。这是我的首选选项,因为它可以避免浏览器页面中出现奇怪的加载脚本,并且可以节省服务器的工作量。缺点是它使您的页面依赖于 javascript,但这并不是什么大问题,因为如果禁用 javascript,这从一开始就注定了。
  • 使用 ClientScript.SetStartupScript() 设置所需的 javascript 以在 SelectedIndexChanged 事件中运行 onload。
  • 将 javascript 的预期结果应用到页面的服务器模型。这样做的优点是即使在关闭 javascript 时也能工作(可访问性),但代价是在服务器上做更多的工作,花费更多的时间来推理页面的逻辑状态,并且可能需要复制客户端和服务器端逻辑。另外,这个事件无论如何都依赖于 javascript:如果 javascript 被禁用,它就不会触发。
  • 第一个和第三个选项的某种组合也是可能的,这样它在本地使用 javascript(如果可用),但如果不可用则回发到服务器。就我个人而言,我希望看到对 ASP.Net 内置功能的更好、更直观的支持。但再次强调:我说的是一般情况。这个特定的事件需要 JavaScript 才能工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 ASPX 控件事件调用 Javascript 函数? 的相关文章

  • 如何修改每个JSON对象javascript

    我想修改里面的每个 JSON 值cooldown object cooldown user 1 This user2 0 This 在 Javascript 中使用 for 语句 我研究了好几个小时 只找到了内部的 blocks Edit
  • 图像无法在带有 DOM 的 IE 中加载:控制台中的 7009 错误(无法解码)

    当在 IE 中的单个页面上加载许多图像时 在 IE11 中重现 其中一些图像开始加载失败 并在控制台中出现类似以下警告的内容 DOM7009 无法解码 URL 处的图像 某些唯一的 url 当我查看网络流量时 似乎确实从服务器收到了每个图像
  • 带有淘汰赛js的隐形recaptcha

    我正在完成隐形验证码 但我在实现它时遇到问题 谷歌开发人员页面中的代码显示它应该是这样的
  • 优化视图状态

    是否有人对优化 ASP NET 应用程序的视图状态有任何想法或参考可以向我指出 我不想把它全部关闭 优化它的主要目标是提高性能 所以我不想运行一个昂贵的函数来递归地禁用某些控件的视图状态 因为该函数会减慢速度页面的加载时间会达不到目的 有任
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?

    当我运行 rspec 时 是否可以让 capybara selenium 向 rspec 报告任何 javascript console errors 和其他异常 我有一大堆测试失败 但当我手动测试它时 我的应用程序正在运行 如果不知道仅在
  • Asp.net MVC 路由 - 防止通过约束路由到 XML 文件

    我正在尝试找到一种方法来阻止用户访问特定的 xml 文件 我尝试过做 routes MapRoute SiteMap SiteMap siteMap xml new new isLocal new LocalHostRouteConstra
  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 服务器不支持 C# 中的安全连接

    我在下面的代码中收到错误 服务器不支持安全连接 SmtpClient smtp new SmtpClient MailMessage mail new MailMessage mail From new MailAddress gmail
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 对于只触及我的工作表的 Google 表格脚本,收到“此应用程序未经验证”

    我正在编写一个 Google Sheets 脚本 我只想访问与 gs 文件关联的同一电子表格中的数据 似乎我应该有权在自己的电子表格中运行脚本 但是每当我运行一个函数时 我都会得到一个This app isn t verified信息 我该
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • Vue.js[vuex] 如何从突变中调度?

    我有一个要应用于 json 对象的过滤器列表 我的突变看起来像这样 const mutations setStars state payload state stars payload this dispatch filter setRev

随机推荐

  • 随机生成器和 CUDA

    我有一个关于 CUDA 中的随机生成器的问题 我使用 Curand 生成随机数 代码如下 device float priceValue int threadid unsigned int seed threadid curandState
  • 条件属性如何工作?

    我有一些标记为的辅助方法 Conditional XXX 目的是在仅存在 XXX 条件编译符号时使方法进行条件编译 我们使用它来调试和跟踪功能 并且效果很好 在我研究条件编译如何工作的过程中 我发现了几个资料来源 说明了标记有Conditi
  • Android 无法绑定到服务(在应用程序计费中)

    我正在尝试在我的应用程序中实现应用程序计费 但我遇到了一些问题 我正在使用 Android 开发人员网站上的示例 每次我启动将连接到计费服务的活动时 它都会向我显示一个无法连接到服务器的对话框 当我按 了解更多 时 它会转到一个正在解释我的
  • 将右侧“完成”按钮 (UIBarButtonItem) 添加到 UINavigationController

    我看到这里有人问了类似的问题 如何向 UINavigationController 添加右键 https stackoverflow com questions 1219779 how to add a right button to a
  • VS Code 找不到 python 3 解释器

    我是第一次安装 Python 3 7 2 并且使用 VS Code python 扩展 当我跑步时python V I get Python 2 7 10这是不正确的 当我选择usr local bin python3VS Code 中的解
  • 一个应用程序中有两个 google-services.json (具有不同的帐户)

    是否可以在 Android 应用程序中使用两个不同的帐户来访问谷歌的两种不同服务 我想通过帐户使用 Google Analytics 分析 电子邮件受保护 cdn cgi l email protection和 Firebase 帐户崩溃报
  • “git checkout <文件名>”和“git checkout -​- <文件名>”之间的区别

    http norbauer com notebooks code notes git revert reset a single file http norbauer com notebooks code notes git revert
  • 主要编译器/工具链对 C99 的支持状况如何?

    对我在这里发表的评论的回应让我停下来思考 我真的不知道 C99 支持的状况如何 维基百科提供了一些编译器的详细信息 但我对 C99 不够熟悉 无法了解该标准的所有细节 因此我正在寻找该问题的格式塔概述答案 主要编译器 工具链对 C99 的支
  • ggplot2 的小提琴图与 x 轴上的数据集的顺序不同

    I created the using below code But on the x axis Models name are not in order as in the data set i e Observed SVM Grid S
  • 如何用CMake安装依赖库?

    我想安装所有依赖库 为了做到我所做的 install FILES path external dll DESTINATION lib 但是 我已经配置了路径 和库 target link libraries target link libr
  • 我正在尝试应用多标签分类

    我正在尝试应用多标签分类 形状是 x train shape 3975 3788 y train shape 3975 66 x test shape 994 3788 y test shape 994 66 当我尝试训练时 出现以下错误
  • 迭代 Pandas 中的行和列

    我正在尝试填充列中所有 NaN 值的平均值 import numpy as np import pandas as pd table pd DataFrame A 1 2 np nan B 3 np nan np nan C 4 5 6 d
  • 对 Promise 中 thenable 回调的工作方式感到困惑吗?

    我是 JS 的新手 正在学习 Promise 我想展示的代码摘录是这样的 promisedFunction then data gt console log data 或者简单地 promisedFunction then console
  • 使用严格会导致未定义的函数

    我正在尝试组织我的 js 文件并遵循建议的模块模式 当我在此模式中使用 use strict 时 函数被声明为未定义 如果没有 use strict 方法 该函数就可以正常工作 是否建议使用严格模式 如果是 为什么该功能在使用它时不起作用
  • 如何在android平台的unity3d中使用c#线程?

    我需要加载文件 场景并在线程中播放动画 尝试在 Android 中通过 www 加载文件 如何通过线程做其他事情 但是为什么游戏引擎不允许我们创建线程呢 或者我的理解是错误的 如何在 UNITY3D 中创建线程 您可以在 Unity 中使用
  • 取消设置会话 PHP 不能正常工作

    我想在单击注销按钮时取消设置用户名和购物车 如果我想放置 如果单击注销 那么会话将取消设置 我应该怎么做 我的代码有效 然而 当我再次点击登录时 登录信息不存储在会话中 它不断要求我再次登录 而不是进行通常的流程 我可以知道出了什么问题吗
  • 使用 System.IO.Packaging 在 C# 中创建 zip

    我正在尝试在服务器上动态创建 zip 文件 其中包含来自在线服务的照片 但是当我尝试打开该文件时 WinRar 说该文件格式未知或已损坏 这是代码 MemoryStream stream new MemoryStream Package p
  • 将值替换为在 unix shell 中对值调用函数的结果

    我有一个如下所示的文本流 s123456789 9780 heartbeat test 1344280205000000 0 heartbeat test 1344272490000000 0 这些长数字是以微秒为单位的时间戳 我想通过某种
  • 如何在ctypes python中传递char指针作为参数

    请帮助我将以下 c 代码行转换为 ctypes python Ret openFcn Handle C Config xml 以下是各自的声明 typedef uint16 t OpenDLLFcnP void const char Ope
  • 如何从 ASPX 控件事件调用 Javascript 函数?

    如何从 ASPX 控件事件调用 Javascript 函数 具体来说 我想从 DropDownList 的 SelectedIndexChanged 事件中调用该函数 每当我看到这种问题时 我都会有点紧张 因为十有八九这意味着提问者并不真正