6

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

Ajax.ActionLink("Go", "Action", "Controller", new { value = textbox1.value })

または、このテキストボックスの値をアクションに戻すにはどうすればよいですか? Jクエリ?

4

4 に答える 4

2

アレクサンダー、どうもありがとう!私を正しい道に導いてくれてありがとう。最新のコードは試しませんでしたが、以前のコードを機能させることができました。これが動作するコードです。これはすべて厄介だと思いますが、おそらく誰かが私にもっとエレガントな解決策を見せてくれるでしょう:

            <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ヘルパークラスを使用するのではなく、LINKをハードコーディングすることです。

于 2009-05-15T15:27:14.903 に答える
2

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" />
于 2009-05-15T07:32:07.727 に答える
1

これは、JQuery でテキスト ボックスから値を取得する方法です。

var input =  $('input[name=txt_MyTextBox]').val()
于 2009-05-15T06:35:07.943 に答える
0

$.get(アクション、データ); を置き換えます。$("#yourTargetId").load(アクション、データ); 次のような 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" />
于 2009-12-22T15:50:23.343 に答える