不使用QueryString将视图中的数据发送到不同的控制器

时间:2013-08-26 10:11:48

标签: c# asp.net-mvc

我需要将数据从View传递到Controller(从TestView1传递到TestController2)

@Html.ActionLink("Text", "Index", "Sample", new { testId = test }, null)

目前,这是在QueryString中发送数据。但我需要避免这种情况并将数据传递给Controller而不使用查询字符串吗?

如果没有Querystring,我该如何实现?

我搜索过,其中大多数是使用查询字符串。如果我错过了解决方案,请重定向到正确的路径。

由于

2 个答案:

答案 0 :(得分:1)

您是否尝试过将数据发布到控制器?保持形式和隐藏的领域..

例如http://www.asp.net/ajaxlibrary/jquery_posting_to.ashx

答案 1 :(得分:0)

您可以使用Ajax回调发送数据。在链接/按钮上尝试此方法

@* Your button/link *@
    <input type="button"  onclick='Link1()'" value="Submit" />

<script type="text/javascript">
    function Link1() {
        var Id = $("#txt").val();

        $.ajax({
            url: '@Url.Content("~/Test2/Actionname")',
            type: 'post',
            async: true,
            data: { text: Id },
            success: function (data) {
            alert("Success");//Ajax request success
            alert(data);//data from Test/yourAction

            },
            error: function (err) {
            alert("fail");//Ajax request fail
                alert(err.responseText);//error will displayed here
            }
        });

    }
</script>