Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何将文本框值传递给我的Ajax.ActionLink?_Asp.net_Asp.net Mvc_Ajax_Actionlink - Fatal编程技术网

Asp.net 如何将文本框值传递给我的Ajax.ActionLink?

Asp.net 如何将文本框值传递给我的Ajax.ActionLink?,asp.net,asp.net-mvc,ajax,actionlink,Asp.net,Asp.net Mvc,Ajax,Actionlink,在我的ASP.NET MVC应用程序中,我希望用户向文本框中添加一个值,然后按我的Ajax.ActionLink。我想这样做: ActionLink(“Go”、“Action”、“Controller”,新的{value=textbox1.value}) 或者,我如何才能将此文本框值返回到我的操作?Jquery 这是如何在JQuery中从文本框中检索值的 var input = $('input[name=txt_MyTextBox]').val() 您可以使用AJAX方法运行操作: $(

在我的ASP.NET MVC应用程序中,我希望用户向文本框中添加一个值,然后按我的Ajax.ActionLink。我想这样做:

ActionLink(“Go”、“Action”、“Controller”,新的{value=textbox1.value})


或者,我如何才能将此文本框值返回到我的操作?Jquery

这是如何在JQuery中从文本框中检索值的

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

您可以使用AJAX方法运行操作:


$(文档).ready(函数()
{
$(“#t”).change(函数()
{
RunAction();
});
RunAction();
});
函数RunAction()
{
var action='';
var data=$(“#t”).serialize();
$.get(操作、数据);
}

非常感谢Alexander!谢谢你让我走上了正确的道路。我没有尝试你的最新代码,但我能够让你以前的代码工作。这是工作代码。我相信这一切都很困难,但也许有人能给我一个更优雅的解决方案:

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

$(文档).ready(函数(){
$(“#myVal”).change(函数(){
changeActionURL();
});
changeActionURL();
});
函数changeActionURL(){
var url=''+'?dup='+$(“#myVal”).val();
$(“#u”).attr('href',url);
}

未完成
正如您所看到的,我的解决方案只是对链接进行硬编码,而不是尝试使用ASP.NET AJAX helper类。

替换$.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" />

$(文档).ready(函数()
{
$(“#t”).change(函数()
{
RunAction();
});
RunAction();
});
函数RunAction()
{
var action='';
var data=$(“#t”).serialize();
$(“#yourTargetId”).load(操作、数据);
}

谢谢,但我正在尝试将数据返回到我的服务器代码中……对我来说,这意味着我需要通过JSON或其他方法将数据传递回服务器。我希望asp.net有一些棘手的方法来获取数据,而不必依赖javascipt。由于文本框和其中的内容都在客户端,因此您需要依赖客户端脚本来实现这一点。例外情况是,如果您不进行Ajax调用,而是提交表单,然后MVC在服务器端为您处理表单。这几乎让我达到了目的……但这并不是创建Ajax调用,而是创建一个标准POST。我更改了代码以进行Ajax调用。如果需要,还可以查看jQuery文档以了解如何处理返回的ActionResult。回答这个问题()也可能很有用。当然,我想我更愿意使用jQuery.load方法
<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" />