提问者:小点点

MVC5重定向控制器操作


我是一个使用ASP.NET MVC5的新手。我需要对控制器进行Jquery调用,以返回一个传递单个参数的新视图。我可以看到很多类似MVC3和之前版本的例子,但却很难找到任何处理MVC4或MVC5并起作用的例子。我所要做的就是从输入元素获取一个值,将其传递给控制器ActionResult,然后打开一个新视图。

PageTwo是视图,Home是控制器。

我试过的代码(包括许多其他代码)通常在404:

window.location.href='@urlaction(“pagetwo”,“home”,new{id=imgId})‘;(其中imgId是变量,id是控制器操作参数)。

var url='@html.raw(url.action(“pagetwo”,“home”,new{id=imgid}))‘;window.location.href=URL;

我还尝试了对controller方法的标准Ajax调用。

我肯定有一个简单的答案...我就是找不到...


共2个答案

匿名用户

你可以这样做。获取img id,并将其传递给带有jQuery$.post()的方法

演示

<input type="text" value="2" class="img__id" />
<a href="/controller/action" class="click__me">click me</a>

$(document).on('click', function () {
    var $this = $(this),
        imgId = $('.img__id').val();

    $.post($this.attr('href'), { id: imgId });

    return false;
});

匿名用户

您所做的一切都是将输入包装在表单周围

@using (Html.BeginForm())
{
    ...
}

和重定向

return RedirectToAction("ActionName");