2

異なる値でハードコーディングする代わりに、C# から値の部分にパラメーターを渡すにはどうすればよいですか。

<div class="property-container">
      <input class="progress-value" type="hidden" value="17" />           
        <div class="property-title">Test</div> 
        <div class="property-progress"></div>
    </div>    

    <div class="property-container">
        <input class="progress-value" type="hidden" value="32" />
        <div class="property-title">Test 2</div> 
        <div class="property-progress"></div>
    </div>    

    <div class="property-container">
        <input class="progress-value" type="hidden" value="24" />
        <div class="property-title">Test 3</div> 
        <div class="property-progress"></div>
    </div>    

        <script type="text/javascript" >/
            $(function () {
                // loop through each 'container'
                $(".property-container").each(function () {


                    // get the value that was rendered from the model
                    var progress = parseInt($(this).children(".progress-value").val());

                    // create the progress bar with the value
                    $(this).children(".property-progress").progressbar({ value: progress });

                });
            });

        </script>
4

4 に答える 4

2

これを使用できます:

 $(this).children(".property-progress").progressbar({ value: '<%= MyValue() %>'});

そして、c#作成でproperty

Public string MyValue
{
  get;set;
}

Nb

サーバーのアクティビティに応じてプログレスバーを更新する場合は、signalR をグーグルで検索することをお勧めします。

于 2013-09-24T19:26:22.573 に答える
0

変数が設定されている場所と、コードが実行されている場所を覚えておく必要があります。C# はサーバー上で実行されるため、JavaScript プロパティを直接設定することはできません。代わりに、HTML テンプレートを設定して、サーバーによって補間されたときに正しい値がクライアントに送信されるようにする必要があります。

つまり、サーバーでプログレス バーの幅を設定することはできません。b/c サーバーはプログレス バーの初期値しか設定できません。値を増やすかどうかはクライアント次第です。そうしないと、常にページをサーバーに送り返す必要があり、これはまったく望ましくありません。

サーバーからクライアントに進行状況データを取得する最も簡単な方法は、JSON を返す Web サービスをセットアップし、jquery を使用して呼び出すことです。

これを行う方法に関するリソースを次に示します。

asp.net クラスのメソッドを [WebMethod] で装飾して、jQuery 経由で呼び出し可能にすることができるはずです。

于 2013-09-24T19:35:03.640 に答える