سؤال

في تطبيق ASP.NET MVC الخاص بي ، أريد أن يضيف المستخدم قيمة إلى مربع نص ثم اضغط على AJAX.ActionLink. أريد أن أفعل شيئًا كهذا:

ajax.actionlink ("GO" ، "Action" ، "Controller" ، new {value = textbox1.value})

أو كيف يمكنني إعادة قيمة مربع النص هذه إلى عملي؟ jQuery؟

هل كانت مفيدة؟

المحلول

يمكنك تشغيل الإجراء باستخدام 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();
        $.get(action, data);
    }

</script>

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

نصائح أخرى

شكرا جزيلا ألكساندر! شكرا لك على وضعي على الطريق الصحيح. لم أحاول لك أحدث التعليمات البرمجية ، لكنني تمكنت من عمل الكود السابق الخاص بك. هنا هو رمز العمل. أنا متأكد من أن هذا كل شيء Kludgy ، ولكن ربما يمكن لشخص ما أن يظهر لي حلاً أكثر أناقة:

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

هذه هي الطريقة التي تسترد بها القيمة من مربع النص الخاص بك في jQuery

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

استبدال $ .get (الإجراء ، البيانات) ؛ مع $ ("#yourtargetId"). تحميل (الإجراء ، البيانات) ؛ تحصل على أياكس كما في ما يلي:

<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