在我的ASP.NET MVC应用程序中,我希望用户将值添加到文本框中,然后按我的ajax.actionlink。我想做这样的事情:

ajax.actionlink(“ go”,“ action”,“控制器”,new {value = 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" />

其他提示

非常感谢亚历山大!感谢您让我走上正确的道路。我没有尝试您的最新代码,但是我能够使您以前的代码工作。这是工作代码。我敢肯定这都是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助手类。

这就是您从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