ASP.NET 页面加载完成后运行 javascript 函数

Posted

技术标签:

【中文标题】ASP.NET 页面加载完成后运行 javascript 函数【英文标题】:Run a javascript function after ASP.NET page load is completed 【发布时间】:2015-01-28 04:47:09 【问题描述】:

页面完成后,我需要从后面的 ASP.NET 代码运行 javascript 函数。

到目前为止,我已经使用了这段代码,但它返回“未定义”,因为在触发 javascript 函数时隐藏字段没有填充值。

我该怎么办?提前谢谢。

ASPX:

  <asp:HiddenField runat="server" ID="ColorHiddenField" ClientIDMode="Static" Value="0" />

Javascript:

    function HandleColors() 
        alert($('#<%= ColorHiddenField.ClientID %>').val());
    

代码背后:

  ColorHiddenField.Value = item.Color;
  ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "HandleColors();", true);

【问题讨论】:

在此处查看答案以获得一些选项:***.com/questions/799981/… 【参考方案1】:

试试下面的代码,它使用 jQuery document.ready 在页面加载后运行你的脚本:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "$(function ()  HandleColors(); );", true);

【讨论】:

谢谢哥们,这对我帮助很大。【参考方案2】:

使用 RegisterStartupScript 代替 RegisterClientScriptBlock

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "HandleColors();", true);

【讨论】:

【参考方案3】:

尝试准备好 jquery 文档。

$( document ).ready(function() 
   alert($('#<%= ColorHiddenField.ClientID %>').val());
);

【讨论】:

以上是关于ASP.NET 页面加载完成后运行 javascript 函数的主要内容,如果未能解决你的问题,请参考以下文章