C# 如何使用";从javascript代码调用服务器端函数;标签功能“&燃气轮机;

C# 如何使用";从javascript代码调用服务器端函数;标签功能“&燃气轮机;,c#,javascript,asp.net,.net,ajax,C#,Javascript,Asp.net,.net,Ajax,首先,我搜索了什么是“标记运算符”,没有找到答案,所以我将引用它 我正在ASP.NET和C#中实现,这是用户控件的相关部分: <div class="progress_container" > <div class="progress_bar tip" id="ProgressBar" title="78%"></div> </div> <script type="text/javascript">

首先,我搜索了什么是“标记运算符”,没有找到答案,所以我将引用它

我正在ASP.NET和C#中实现,这是用户控件的相关部分:

<div class="progress_container" >
    <div class="progress_bar tip" id="ProgressBar" title="78%"></div>
</div>    

<script type="text/javascript">        
    function myFunction() {
        document.getElementById("ProgressBar").setAttribute("title", '<%=getPercent()%>')
        var percent = $('.progress_bar').attr('title');
        $('.progress_bar').animate({ width: percent }, 1000);
    }
</script>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnProgressBar" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <asp:Button runat="server" Text="Go!"  id="btnProgressBar" OnClientClick="myFunction()" />
    </ContentTemplate>
</asp:UpdatePanel>

witch只运行了一次,然后什么都没有,就像调用函数
'
只运行了一次。我如何解决这个问题?

我知道这不完全是你问题的答案,但你肯定可以这样做(使用属性)

而不是像这样从aspx文件调用它

<%= GetPercent %>

你不能那样做你想做的事。您需要使用AJAX/AJAJ来拥有一个不断更新的进度条

这只是一种替代。第一次生成页面时,它会对其进行求值,并用求值结果替换文档的该部分,因此您可以在其中放置变量、函数、资源等

看起来您正在使用jQuery,所以请看一下$.ajax()

您可以使用如下内联属性

var randNum= '<%= Percent %>';

public string Percent
{
    get
    {
         return getPercent();
    }
}
其中,randNum是您希望在客户端访问的javascript变量

更新

您需要做的是在javascript中调用setTimeout,并在一段时间后调用此函数

您可以通过如何构建上下文相关的进度条来了解这个示例。虽然它在MVC中,但客户端代码是相同的

更新2


在这篇文章中,他使用ASP.NET构建了一个进度条(类似于你的进度条)

我想你误解了这个问题-这更像是OP没有意识到只有在服务器上渲染时才会调用
,而不会在浏览器上再次调用,首先,我对这个标签的理解是有缺陷的,它只是一个替代品,但是你尽了最大的努力给出了一个有效的解决方案,所以我认为你应该得到公认的答案。谢谢
<%= GetPercent %>
var randNum= '<%= Percent %>';

public string Percent
{
    get
    {
         return getPercent();
    }
}
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RandValue", "var randNum= '" + getPercent()+ "';", true);