どのように私は私のAjax.ActionLinkにテキストボックスの値を渡すことができますか?

StackOverflow https://stackoverflow.com/questions/867253

質問

私のASP.NET MVCアプリケーションでは、私は、ユーザーがテキストボックスに値を追加して、私のAjax.ActionLinkを押します。私はこのような何かをしたい:

Ajax.ActionLink( "アクション" "GO"、 "コントローラ"、新たな{値= textbox1.value})

またはどのように他の私は戻って私の行動に、このテキストボックスの値を得ることができますか? jqueryの?

役に立ちましたか?

解決

あなたはAJAX $に.get の方法を使用してアクションを実行することができます

<script type="text/javascript">     

    $(document).ready(function()
    {
        $("#t").change(function()
        {
            RunAction();
        });

        RunAction();
    });

    function RunAction()
    {
        var action = '<%= Url.Action("Action", "Controller") %>';
        var data = $("#t").serialize();
        $.get(action, data);
    }

</script>

<input type="text" id="t" />

他のヒント

どうもありがとうアレクサンダー!正しい道に私を入れていただき、ありがとうございます。私はあなたに最新のコードをしようとしなかったが、私はあなたの前のコードの作業を取得することができました。ここでは、作業コードがあります。私は、これはすべての場しのぎですが、そこに、おそらく誰かが私に、よりエレガントな解決策を示すことができると確信しています:

            <script type="text/javascript">
                $(document).ready(function() {
                    $("#myVal").change(function() {
                        changeActionURL();
                    });
                    changeActionURL();
                });
            function changeActionURL() {
                var url = '<%= new UrlHelper(ViewContext.RequestContext).Action("Action", "Controller") %>' + '?dup=' + $("#myVal").val();
                $("#u").attr('href', url);
            }
            </script>

            <a id="u" href="" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'HellaYeah' });">Report Dupe</a>

        </p>
        <div id="response">not done</div>

あなたが見ることができるように私の解決策ではなく、ASP.NET AJAXヘルパークラスを使用しようとするだけでハードコードへのリンクです。

あなたはjQueryのでは、あなたのテキストボックスから値を取得する方法これは、

var input =  $('input[name=txt_MyTextBox]').val()

$に.get(アクション、データ)を交換。 $( "#yourTargetId")と負荷(アクション、データ)。 次のようにAJAXを取得します:

<script type="text/javascript">     

    $(document).ready(function()
    {
        $("#t").change(function()
        {
            RunAction();
        });

        RunAction();
    });

    function RunAction()
    {
        var action = '<%= Url.Action("Action", "Controller") %>';
        var data = $("#t").serialize();
        $("#yourTargetId").load(action, data);
    }

</script>

<input type="text" id="t" />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top