Question

Dans mon application ASP.NET MVC Je veux un utilisateur d'ajouter une valeur dans une zone de texte puis appuyez sur mon Ajax.ActionLink. Je veux faire quelque chose comme ceci:

Ajax.ActionLink ( "Go", "Action", "contrôleur", nouvelle valeur {= Textbox1.value})

Ou comment puis-je obtenir cette valeur textbox revenir à mon action? Jquery?

Était-ce utile?

La solution

Vous pouvez exécuter l'action en utilisant AJAX $ .get méthode :

<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" />

Autres conseils

Merci beaucoup Alexander! Merci de me mettre sur la bonne voie. Je ne vous ai pas essayé le dernier code, mais je suis en mesure d'obtenir votre travail de code précédent. Voici le code de travail. Je suis sûr que tout cela est kludgy, mais peut-être quelqu'un là-bas peut me montrer une solution plus élégante:

            <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>

Ma solution que vous pouvez voir est juste coder en dur le LINK au lieu d'essayer d'utiliser la classe d'aide ASP.NET AJAX.

est la façon dont vous récupérez la valeur de votre zone de texte dans JQuery

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

remplacer .get de $ (action, données); avec $ ( "# yourTargetId") charge (action, de données). vous obtenez un ajax comme dans ce qui suit:

<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" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top