问题标签 [registerclientscriptblock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1088 浏览

c# - JS缺少形式参数

在网站内,我需要在加载页面期间根据代码中设置的参数切换面板,并且需要通过 javascript 进行切换。该参数包含在代码隐藏中的 javascript 函数中,但我收到“缺少形式参数”的错误,可能是什么问题?

这是 RegisterClientScriptBlock 生成的代码:

这是注册脚本以在加载时调用的代码隐藏:

这是 aspx 文件中的 javascript 函数:

0 投票
3 回答
165 浏览

javascript - Page_Load 上的 jQuery 调用错误

我有以下代码在 Page_Load 上注册一个 javascript 函数(也在 Page_Init 上尝试过)。javascript 根据页面加载时的参数将两个面板从隐藏切换到显示:

但是当页面加载时我收到一个错误:$ 没有定义。

我查看了 Firebug 并且正在加载 jQuery 文件,但是在 .Net 选项卡中加载的第一个文件是页面本身。我知道 jquery 是正确的,因为相同的代码适用于不同的页面。当页面加载时,我的 RegisterClientScriptBlock 应该放在页面生命周期中的哪个位置才能正常工作?还是我对这一切都错了?

0 投票
0 回答
1243 浏览

javascript - 弹出确认消息以在条件下出现

我正在尝试设置一个确认对话框,其工作方式如下:

当用户单击“导出”按钮时,会在代码隐藏中完成计算以计算要导出的行数。如果行数超过阈值(例如 100 万行),则会弹出确认消息并询问用户是否要在作业完成后批量导出和接收电子邮件。

到目前为止我一直在使用这个解决方案(从这里获得):

Javascript:

代码隐藏

我唯一的问题是,不管行数是否超过阈值,都会弹出确认消息,这不是我想要的。

我希望仅在计算的行数超过阈值时才出现弹出消息。

有任何想法吗?

0 投票
3 回答
2325 浏览

javascript - 如何以编程方式将javascript放入块中?

我需要将一些 javascript 绝对放在页面的 <head> 块中——它必须在页面的其余部分之前执行,因为脚本的可能结果是重定向到不同的页面。

但是,当我对使用 jQuery 的代码使用 RegisterClientScriptInclude(在其中放置一些 jQuery)和 RegisterClientScriptBlock 时,它会将其放在 <body> 块的顶部附近,并且不会执行。我看不到以编程方式将此 javascript 放入 <head> 块的方法——它必须以编程方式进行,因为有时我不希望它在那里,有时我会。

我试着看看是否可以直接引用Content1,即 <head> 块对应的asp:Content 元素的ID,但不行。

以防万一有人认为 RegisterStartupScript 可能工作:它没有。它在 <body> 块中的位置比其他所有内容都低。说来也怪。

想要一些代码?这里:

根据大众的需求,我如何检测 ActiveX 组件。这是 JScript。

如果 ActiveX 组件不存在,则重定向是一个告诉用户他们需要安装它的页面。如果 ActiveX 组件是 11.0 以外的任何其他版本,则重定向到一个页面,该页面解释了这一点以及如何处理这种情况(例如 backrevving)。

在页面加载检查期间进行事先检查,以确保它们具有 Internet Explorer v4 至 v9,因为任何其他版本都无法与该产品一起使用(如果 IE10+ 甚至尝试加载 ActiveX 组件的 v11.0,它也会崩溃)。

0 投票
1 回答
1798 浏览

javascript - Page.ClientScript.RegisterClientScriptBlock Window.Print 在 IE 中不起作用

基本上,我有这行代码在 IE 中不起作用,但在 FF 和 Chrome 中运行得很好。

我没有收到任何错误,只是不起作用。如果我改为

警报出现得很好,知道为什么 window.print 不起作用吗?我还写入了另一个函数,并尝试调用包含 window.print();return false; 的函数。无济于事,只是将其包含在 RegisterClientScriptBlock 中。不知道为什么它不起作用

0 投票
1 回答
234 浏览

c# - 在多次回发期间仅注册一次 ClientScriptBlock

在我的 asp.net 网站中,在实际添加自定义脚本或注册 js 文件之前,我经常使用以下方法:

当一个页面需要一段自定义脚本时,在 PageLoad 期间的某个地方我调用IsClientScriptBlockRegisterd()后跟RegisterClientScriptBlock().

上面的代码在回发期间总是被调用一次。

当用户在相关页面上时,在该页面上停留时,他可能会导致多次回发(实际回发,而不是回调)。在回发期间,该GetRegisteredClientScriptBlocks方法总是返回一个空集合。所以IsClientScriptBlockRegistered总是返回false。因此,对于每个回发,我必须重新创建自定义脚本块并将其重新注册到页面,然后将其重新发送给客户端。

只要用户停留在相关页面上,或者只要用户会话处于活动状态,有没有办法注册自定义脚本块并让它在客户端存在?

提前致谢。

0 投票
1 回答
178 浏览

javascript - 将“true”作为最后一个布尔参数传递时,无法使 RegisterClientScriptBlock() 方法工作

以下是尝试在页面中包含脚本的 3 个版本:

前两个版本运行良好。然而,"true"作为最后一个参数的第三个参数实际上是<![CDATA[在源代码中呈现的,我无法让它工作。

为什么要渲染 CData ?在这种情况下,它的目的是什么?如何在不删除“true”参数的情况下让第三个版本正常工作?下面是在浏览器中呈现的 html 代码::

附加信息::

[ 只是为了避免混淆所有这些 JS 文件:JqueryTest1.js等等 .. 都存在于我的解决方案中的适当位置]。在JqueryTest3.js中,只有以下代码:

如果我将此DoClick()功能放在JqueryTest1.js文件中,它会完美运行。

.aspx标记:

0 投票
2 回答
401 浏览

asp.net - ScriptManager.RegisterClientScriptBlock 在某些情况下不显示对话框

我在更新面板中有几个文本框,我正在为此做一些简单的验证。如果验证检查失败,则会在对话框中弹出错误消息。我的问题是当其中一个文本框的验证失败但另一个文本框没有验证时,RegisterClientScriptBlock 会显示对话框。在这两种情况下,事件都会触发。在下面的代码中,当 txtCustMSCName(外部 If 语句的 Else 下面的第二个)文本框未通过验证条件时,对话框正确显示,但在 txtMSCName 文本框失败时不显示。任何想法为什么会发生这种情况?这与 txtMSCName 设置为 ReadOnly=True 的事实有关吗?

VB:

标记:

0 投票
1 回答
701 浏览

javascript - Yii registerScript:将php参数添加到javascript

嗨,我正在尝试使用外部 js,并且我正在使用Yii clienScript

问题是,在我的外部 js 文件中,我需要为我的 ajax 调用传递一个 url 。并且url 在 php 中,因为我正在使用下面的createAbsoluteUrl()

如何将 $url 作为 javascript 变量传递给some.js?谢谢!

0 投票
1 回答
1362 浏览

javascript - ASP.Net 在 UpdatePanel hiddenField 上获取 ScriptManager.RegisterClientScriptBlock 返回

我正在尝试使用 ScriptManager.RegisterClientScriptBlock 获取我在服务器端调用的 Javascript 函数的返回。

目前,我的 javascript 函数将值保存在 UpdatePanel 中包含的 HiddenField 中。当我调用方法时,我运行 ScriptManager.RegisterClientScriptBlock ,然后获取 HiddenField 的值,但总是返回上一次调用的值。这里我展示代码:

我的用户控制 ASPX 端:

我的用户控制服务器端代码:

索引页 ASPX 侧:

索引页面服务器端代码: