问题标签 [registerstartupscript]
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.
javascript - 使用用户控件注册脚本
我有一个我正在开发的 asp.net webforms 应用程序。它使用一个主 aspx 页面来创建布局,然后在面板中使用 ascx 页面来显示数据。
我需要做的是使用带有用户控件(ascx 文件)的 javascript。
我认为在主 aspx 页面上有一个脚本管理器可以让我在 .ascx 页面上的 Page_Load 函数中注册脚本。
这是我正在尝试做的一个基本示例:
这是 ascx 页面上的 HTML:
这是主 aspx 页面上的脚本管理器声明:
我还尝试创建一个简单的警报以在页面加载时出现,但我无法执行任何脚本。当我按下按钮时,我得到“ReferenceError:logSomething 未定义”
任何帮助将不胜感激。
对于踢,我也只是尝试过这种方法无济于事:
按钮 HTML:
这导致了一个帖子到主 aspx 页面。控制台没有记录任何内容。如果可能的话,我想远离 asp 控件。最终目标是将 jQuery 集成到此应用程序中。
javascript - RegisterStartupScript 没有触发 JScript 方法
我似乎无法弄清楚如何从我的代码隐藏中触发 javascript 函数。
这是我的aspx页面中的javascript...
我有一个类似的函数,它是为LinkButton 事件ShowPopup触发的。OnClientClick那是有效的。但是,在按下此按钮启动的函数结束时,我想隐藏 JQuery 对话框。我尝试了以下方法...
和
我假设我需要第一个(我正在使用 AjaxControlToolkit 和这个特定的按钮,并且<div>在更新面板中),但似乎没有一个隐藏对话框。我没有错误,所以我有点迷失在这里。有任何想法吗?需要更多信息?提前致谢。
编辑:所以我的问题并不是真的 javascript 没有启动,我alert(message)在我的HidePopup()函数中放入了一个正在关闭的函数,所以我的问题似乎只是与这条线有关......
我div的定义为...
有人认为这有什么问题吗?
javascript - 如何将很长的字符串从后面的代码传递给我的 javascript 函数?
我正在尝试将后面的代码中的字符串传递给 .aspx 文件中的 JavaScript 函数。如果我传递一个短的虚拟字符串,比如“bla”,这会很好。但是,当我将完整的异常消息 + 堆栈跟踪传递给它时,程序会挂起并且不会进入 JavaScript 函数。
以下是我尝试完成此操作的方法:
在我的服务器端是 LogMessagePopup JavaScript 函数,
JavaScript 函数的内容无关紧要。
问题可能是 logMessage 很长。它是一个完整的异常和堆栈跟踪,超过 4KB。
如果我传递一条较短的消息,我的代码就可以正常工作。
特殊字符也可能存在问题,但在使用 logMessage.replace 转义 JavaScript 中的特殊字符后,问题仍然存在。
我一直在阅读您可以通过 POST 将更长的字符串传递给服务器端代码,但我不明白如何做到这一点,如果这甚至是我正在寻找的解决方案,因为我不知道如何专门将它传递给我的 JavaScript LogMessagePopup 函数。绳子在途中的某个地方丢失了。
javascript - 警报显示一次而不是多次 ScriptManager asp.NET
alert('mytext');我在使用through 时遇到问题ScriptManager.RegisterStartupScript()。
问题是,当我在循环中使用它时,例如,通过编写:
警报显示一次,而不是三次。
准确地说,该函数有 5 个参数,它们是:
Control control: 页面控制Type typeOfControl: 类型Controlstring key: 用于标识 JS 脚本的键string script: JS 脚本本身boolean addScriptTags<script></script>:是否放入脚本
问题的本质是我无法指定另一个key. 我尝试使用毫秒来识别每个脚本,但似乎脚本更快,因此具有相同的毫秒数(而且我不能更精确地处理时间......)。
问题:如何对key参数使用可能的唯一标识符?还是有替代方案?
javascript - 来自服务器的电子邮件脚本中断 Telerik RadGrid 和 RadDropDownList
我正在使用 Rad 网格来显示网格复选框标记项目的一些信息,然后使用 RadDropDownList 您可以选择一个操作并按下一个按钮来执行此操作。其中一项是向选中行的所有电子邮件发送电子邮件。
在按钮单击回调中,我从网格中枚举选中的行并将它们的电子邮件放在一个字符串缓冲区中,然后添加脚本以在回发时执行电子邮件,从而产生一封电子邮件。
这导致该行
不知何故,这条无辜的 JavaScript 小行导致 RadGrid 标题行和 RadDropDownList 上的主复选框完全停止运行。下拉列表不会下降。除了我插入的电子邮件行之外,值 parent.location 在视图源 html 中没有其他位置。
我想不出这个问题的解决方案,感觉就像是 Telerik 对象很容易从一个小的自包含脚本中破坏的错误。也许还有另一种方法可以从服务器提供的浏览器发送电子邮件,不会破坏 Telerik 的控制。
乔治
asp.net - RegisterStartupScript 不适用于 UpdatePanel 和 Google 可视化图表
在我的 ASP.NET 页面上,我在 asp:UpdatePanel 中使用 Google 可视化图表。用户从两个 asp:DropDownLists 中选择他们想要查看的图表,然后我的 C# 代码生成 JavaScript,然后我调用 ScriptManager.RegisterStartipScript(...)。当页面第一次加载第一个默认图表(即第一次调用 RegisterStartupScript)时,我可以从 View Source 查看 javascript。只有在回发时我才得到一个空白图表,然后当我转到查看源代码时,该页面没有收到新的 JavaScript,并且它仍然具有来自第一个页面加载的旧的默认 JavaScript。这是奇怪的行为。如果我使用完全相同的代码,但将我的 Google Chart 代码替换为 alert(...); 然后 alert() 每次都会触发,当我查看源代码时,脚本就在那里。我'在这里。下面是我的代码,任何帮助都将不胜感激,我让其他人看过这个,我们都很难过。仅供参考:如果我删除所有 UpdatePanel 和相关项目(ScriptManager 和 UpdateProgress)并使用 ClientScript.RegisterStartupScript(),那么一切正常,我在我的页面上获得了新的 JavaScript 代码,并且新图表按原样显示。
我的 C# 代码看起来像这样。从两个 DropDownList 事件调用函数 DisplayPlot,每个列表作为“控件”传入。
c# - 使用后面代码中的参数触发 js 函数
C# 使用后面代码中的参数触发 js 函数。我有以下代码:
C#:
js:
当我打开控制台窗口时,我收到以下消息: Uncaught SyntaxError: Unexpected identifier
现在渲染的函数是:
有人可以帮我解决这个问题。(它在过去有效)也许我已经改变/破坏了某些东西并且它不再起作用了。
c# - AsyncFileupload 从后端运行 Javascript
我正在尝试JavaScript在我的函数上运行一个AsyncFileUpload UploadComplete函数。
我正在使用以下ScriptManager方法注册新脚本:
我在我的JS文件中声明了一个函数,名为UploadError:
这两个警报会触发,但$("#viderror")不会淡入。上述功能是我尝试调试除警报之外的事件未触发的原因。基本上我要做的是运行一个函数,该函数将显示由后端根据文件大小、文件类型等确定的错误。
有谁知道为什么javascript警报以外的事件不起作用?
谢谢
c# - 页面启动时的 RegisterStartupScript - 如何做到这一点?
对于这个看起来很初级的问题,我深表歉意,但在 C# 中还有很多东西要学!
在某些条件下,我试图在页面加载时弹出一条消息。
我的 If/Else If 已全部设置并且工作正常,现在我需要在满足某些条件时添加弹出消息。
我的问题是,我只使用过这样的东西:
但是,这次将不涉及任何按钮,我希望它在页面加载时弹出。
如何实现?
c# - 将查询字符串参数添加到 Web 应用程序方法后失败
我有以下代码,它使用函数 ClientScript.RegisterStartupScript 在与后面的代码不同的框架中打开超链接。超链接事先从数据库中检索并分配给标签。
这很完美。然后我在那个页面上实现了一个查询字符串。请求参数正确传递,超链接以我预期的方式在 Pageload 上打开。但是:下次调用此方法时,将打开的超链接是属于 Querystring 参数中指定的记录的超链接。我在里面放了一个标签来检查是否将正确的参数's'传递给 ClientScript.RegisterStartupScript() 并且它是!!!
如果页面加载了查询字符串参数(例如.aspx?ID=324),则该函数会发生错误。加载没有该参数的同一页面可以完美运行。
怎么了?为什么 ClientScript.RegisterStartupScript 返回旧结果,尽管它的输入参数已更改?
有什么提示吗?马丁