【问题标题】:Pass value to Jquery function from code behind将值从后面的代码传递给 Jquery 函数
【发布时间】:2026-01-27 10:40:02
【问题描述】:

我在 asp.net 表单上使用 Jquery 进度条控件来显示检查员完成工作的百分比。这是进度条的客户端功能。

    <script>
        $(function () {
            $("#progressbar").progressbar({
                value: 37
            });
        });
    </script>

    <form id="form1" runat="server">
       <div id="progressbar"></div>
    </form>

有没有办法从页面后面的代码中设置进度条值?从数据库中读取值。

【问题讨论】:

标签: c# jquery asp.net jquery-ui jquery-plugins


【解决方案1】:

您可以使用 registerstartupscript 从 ASP.NET 代码隐藏文件中注入脚本。

myScript = "\n<script type=\"text/javascript\" language=\"Javascript\" id=\"EventScriptBlock\">\n";
        myScript += "ShowProgressBar(35);"; //35 is dynamic value
        myScript += "\n\n </script>";
     Page.ClientScript.RegisterStartupScript(this.GetType(), "myKey", myScript, false);

JavaScript 代码

function ShowProgressBar(value) 
{
    $("#progressbar").progressbar({
         value: value
     });
 }

【讨论】:

    【解决方案2】:

    尝试以下步骤

    1. 首先在页面加载时将DB 值设置为hidden field。喜欢 (HiddenFieldID.value="37" // from DB)
    2. 使用hidden field值设置js函数中进度条的值如下。

    $(function () { $("#progressbar").progressbar({ value: $("#<%= HiddenFieldID.ClientID %>").val(); }); });

    【讨论】:

      【解决方案3】:

      你不妨试试:

      ScriptManager.RegisterClientScriptBlock(Me.Page, Me.Page.GetType(), "progressbar", "ShowProgressBar("+ 35 +");", True)
      

      【讨论】: