6

水道会社のさまざまなサイトに関するサーバーからの情報を表示するために使用される ASP.NET アプリケーションがあります。div 'info' 内でクリックされたハイパーリンクのテキストを返す jQuery メソッドがあります。

<script type="text/javascript">
        $('#info a').click(function getName()
        {
            return ($(this).text());
        });
</script>

コードを使用して、C# コードビハインドを使用してこのメ​​ソッドを呼び出すことができます

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

ただし、必要な戻り値を取得できません。誰でもこれに光を当てることができますか?

4

3 に答える 3

7

非表示フィールドを使用:

<input type="hidden" id="myhiddenField" name="myhiddenField" runat="server" />

そしてJQuery(これはテストしていません):

<script type="text/javascript">
        $('#info a').click(function getName()
        {
            $("#myhiddenField").val($(this).text());
        });
</script>

そして、分離コードの隠しフィールドにアクセスできるようになりますmyhiddenField.Value

または、Ajax Call を使用する場合は、こちらのチュートリアルを参照してください

編集 :

私は小さなプロジェクトを作成しましたが、以下はうまく機能します(「テスト中」というアラートが表示されます):

 <script type="text/javascript">
        $(document).ready(function () {
            $('#info a').click(function getName() {
                // As control having runat="server" their ids get changed
                // selector would be like this 
                $("#<%= myhiddenField.ClientID %>").val($(this).text());
                alert($("#<%= myhiddenField.ClientID %>").val());
            });
        });
</script>

<div id="info">
  <a href="#">testing</a>
</div>
<input type="hidden" id="myhiddenField" name="myhiddenField" runat="server" />
于 2013-10-01T09:08:37.103 に答える
1

ドキュメントの準備ができたら、ASP.NET の JavaScript からボタン クリック イベントを発生させる必要があります。

このような

ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "$(function() {
$( ‘#info a
‘ ).click(); });
", true);

詳細については、Click()を参照してください。

于 2013-10-01T09:07:20.710 に答える
-1

コード ビハインドでこの Calling Javascript 関数を試してください

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);

そこに UpdatePanel がある場合は、このようにしてみてください

ScriptManager.RegisterStartupScript(GetType(), "Javascript", "javascript:FUNCTIONNAME(); ", true);

更新された回答:

クライアント側: 関数を作成し、クライアント側として隠しフィールドに値を設定し、サーバー側でこの関数を呼び出して隠しフィールドの値を取得します

JS:

  function myFunc(){
     //set you value to hiddenfield
     $(".hdfiled").val("Hello");
      alert($(".hdfiled").val());
    }

コード ビハインド :myFuncタイトルに「CODE BEHIND から関数を呼び出す」と記載されているため、サーバー側から呼び出しています。

ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:myFunc(); ", true);
string getHd_Value=  myhiddenField.value;

隠しフィールドの値をチェックするJS FIDDLE

于 2013-10-01T08:55:38.640 に答える