问题标签 [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.
c# - 带有 RegisterClientScriptBlock 的不完整 JS 脚本标记
我目前正在尝试从 .NET 页面注册一个 JS 函数调用,该页面只是调用 .aspx 页面上的一个小函数,该函数将关闭窗口。
RegisterClientScriptBlock 代码如下:
这种事情在不同页面上的应用程序的其他地方起作用。但是,在这种情况下,我得到一个运行时 JS 错误:错误:预期的 '/',当我调试时,插入的 javascript 果然是:
如您所见,由于某种原因,它没有添加 /script> !我试图自己省略标签并使用:
但结果相同。
我也试过 RegisterStartupScript 无济于事。
有没有其他人遇到过这个?关于导致它的原因以及如何解决它的任何想法?
c# - ScriptManager.RegisterStartupScript 调用的客户端方法未触发
有人可以看看下面的代码并告诉我我做错了什么。
我正在尝试使用循环的每次传递来更新客户端。在客户端(在表单标签内),我有一个名为“do_progress”的函数,它接受两个参数:消息和百分比。我的意图是每次循环都会触发客户端方法,但没有任何反应。
更新
谢谢你的帮助。Ramiz,您的代码在我的情况下不起作用,因为它收集循环内的所有方法(和进度),然后同时将它们发送给客户端。这不会准确显示进度(每个循环都代表上传文件的完成)。在每次唯一完成服务器端循环后,我需要访问客户端函数 do_progress。
此外,页面已经加载,并且在单击(上传)按钮时会触发代码。
话虽如此,我仍然遇到问题。我可以通过查看“选择源”来确认我正在使用以下代码获得我想要的结果:
但是,我没有在客户端上看到实时更新的结果。进度条没有移动,计数器(n 个文件中的 n 个)没有做任何事情。但是,当我查看 innerHTML 时,这些值已经更新。很奇怪。几乎就像我需要刷新页面或其他东西,但这不是必需的。
我正在使用的客户端功能,位于页面末尾的表单标签中,如下所示:
javascript - 将参数作为文本从 .NET 代码隐藏传递给 JavaScript 函数
基本上,我有一个从父窗口在新窗口中打开的 gridview。它有一堆带有查看按钮的记录,用于查看每条记录的详细信息(保留在同一个新打开的窗口中)。我在父窗口中有一个日历,它接受一个日期查询字符串参数来在页面加载时设置日历上的当前日期。我只是想刷新父窗口中的日历以匹配新打开的窗口中标签的日期。
下面的所有代码都在新打开的窗口中。下面的 .Net 代码隐藏是指单击该视图按钮并填充所有内容的时间。最后我调用js刷新父窗口,将LabelScheduleDate的值作为querystring参数传入。现在标签在代码隐藏中以'03/25/2010'的形式出现,但是当我将它传递给js时,它在最后的查询字符串中以'0.00005970149253731343'的形式出现。我不确定是什么使值发生了变化,我想将它作为text传递。我需要将它作为字符串对象传递吗?我试过了,但我不认为我做得对。
谢谢。
JavaScript 函数
.NET 代码隐藏
asp.net - ASP.NET:如何从页面“A”代码隐藏中获取对页面“B”的引用?
我正在尝试从页面“A”调用 ScriptManager.RegisterStartupScript,以便在页面“B”加载时显示警报,但无法弄清楚如何获取对页面“B”的引用以满足 Control 中的参数方法调用。
我认为必须有类似于 Page.FindControl() 的东西可以做到这一点,但我被困住了......
c# - RegisterStartupScript 似乎没有在更新面板中处理页面回发
好的 - 所以我正在开发一个使用自定义日期选择器控件的系统(我知道还有其他的......但为了保持一致性,我想了解为什么我当前的问题正在发生并修复它)。
所以它是一个带有文本框的自定义用户控件,并且在 Page_PreRender 上这样做:
忽略注释掉的东西——那是我尝试不同的东西——没有帮助。
我的问题是,当我加载页面时,这一切都很好。但是,如果我从下拉列表中选择导致页面回发的内容 - 当我点击我的日期字段时,它们会停止工作。正如我应该能够单击文本框并出现一个漂亮的日历控件。但是回发后没有出现漂亮的日历控件!
它目前全部包含在更新面板中(在托管页面中)。因此,我注释掉更新面板的内容,并且日期在页面回发后有效。所以它似乎与那个更新面板有关。
请问有什么建议吗?
谢谢!!
javascript - Sharepoint 自定义 WebPart 启动脚本
好的,我遇到了一个两天来一直试图解决的独特问题。
我有 System.Web.UI.WebControls.WebParts.WebPart 控件,我正在使用它构建自定义 Sharepoint View。除了一个小问题,我想做的几乎所有事情都在工作。我需要使用 Javascript 来格式化日期和货币字段。客户希望 DateTime 字段为 mm/dd/yyyy 并且货币在适当的地方具有 $ 和逗号。
这在常规 aspx 页面上的 javascript 中很容易。我只是写了函数和页面加载
我的问题在于,在 WebPart 的 OnLoad 上,我想要更新的网格不存在......所以我必须向 OnPreRender 添加代码。
好吧,WebPArt 加载并且 Javascript 没有触发......所以我单击刷新并且它确实触发了。任何人都可以帮我获取在初始 WebPart 加载上工作的代码吗?有没有人能够让服务器端脚本在 SharePoint 中以这种方式工作?
谢谢,迈克五世
javascript - ASP.NET/JavaScript - 脚本注册/重定向问题
我的页面上有一个提交按钮(服务器端按钮)。
这是我的点击事件代码:
现在,问题是,我使用 注册了 JavaScript Page.ClientScript.RegisterStartupScript,但这将不起作用,因为页面没有在回发时重新呈现(这是脚本将被执行的地方),而是Response.Redirect发生了。
我能想到的唯一解决方案是让页面重定向到“意识到”我正在尝试执行一些 JavaScript,无论是 QueryString、HttpContext.Current.Items 还是(gulp)Session。
- QueryString - 不是一个选项,因为它是我试图执行的 JavaScript。
- HttpContext.Current.Items - 也不是一个选项,因为我正在执行 Response.Redirect(它会丢失请求级数据,而且我也不能使用 Server.Transfer,因为这与 URL 重写不匹配)。
- 会话 - 当然,但并不理想。
还有其他想法/建议吗?
编辑澄清:
即时执行的 JavaScript 是对 Facebook 客户端 API 的调用,以发布到用户的墙上。它必须在客户端完成。我将诸如“标题”、“消息”、“操作链接”等内容传递给脚本。基本上是一堆 JSON。但这里的关键是这些数据是在回发时创建的,所以我不能只在客户端点击时执行这个功能。
所以我试图完成的是点击提交按钮,执行一些javascript并进行重定向(不必按这个顺序,只需要两者都发生)。
javascript - 在用户控件中注册 javascript
我正在尝试使用谷歌地图,为此我制作了一个用户控件,我试图在其中注册一个 javascript,但再次像往常一样它没有被注册,所以我尝试使用客户端脚本在后面注册它的代码。但同样的问题。它没有被注册。
下面的代码写在用户控件的页面加载事件中。
然后我尝试在 aspx 页面中使用此控件。任何帮助将不胜感激,谢谢!
java - 如何将我的脚本从后面的代码添加到文件末尾
我在页面底部的母版页中有 Google Analytics 的脚本。它就在标签下方.....从后面的代码中我需要将一些信息推送到谷歌分析。使用该脚本中的 _gaq 变量。示例:在我的母版页中
我想在这个脚本之后添加我的脚本。我使用了RegisterStartupScript,但没有加载.js 中的变量,因此对象抛出未定义的错误。我无权将谷歌分析脚本移动到标签上方。如果我使用 RegisterClientScriptInclude,那么我将再加载一份文件副本。那也不可取。因为谷歌分析应该在所有页面加载后运行。所以我怎样才能将我的脚本从后面的代码添加到文件的末尾。在这个脚本之后???
帮我大师
asp.net - 值不能为空。参数名称:控件
我曾经将 UpdatePanel 作为整个 Listview 项目的包装器。
并按如下方式注册客户端脚本...
现在我决定只用更新面板包装 ImageButtons 组,如下所示......
我收到以下错误
在执行时
ScriptManager.RegisterStartupScript(DirectCast(Page.FindControl("UpdatePanel1"), UpdatePanel), GetType(String), "alertScript", "update('hpClips','false','inc')", True)
我认为这与没有找到更新面板控件有关。直接演员抛出异常。那么我该如何解决呢?先感谢您。
更新:我也试过这个。(这一次,我没有例外,但客户端脚本没有执行)