我是使用ASP.Net MVC5的新手。我需要对控制器进行Jquery调用,以返回传递单个参数的新视图。我可以看到很多似乎都参考MVC3和之前的例子,但是很难找到任何可以处理MVC4或MVC5的东西。我想要做的就是从input元素中获取一个值,将其传递给Controller ActionResult,然后打开一个新的View。
PageTwo是View,Home是控制器。
Code I尝试过(通过许多其他代码)通常使用404失败:
window.location.href =' @UrlAction(" PageTwo"," Home",new {id = imgId})' (其中imgId是变量,id是控制器动作参数)。
或
var url =' @ Html.Raw(Url.Action(" PageTwo"," Home",new {id = imgId})&#39 ;; window.location.href = url;
我还尝试过对控制器方法的标准Ajax调用。
我确定答案很简单......我无法找到它......
答案 0 :(得分:0)
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;
});
答案 1 :(得分:0)
你所做的一切都是围绕表格
包装输入@using (Html.BeginForm())
{
...
}
并在控制器中重定向
return RedirectToAction("ActionName");
答案 2 :(得分:0)
试试这个我希望这会对你有所帮助
<script>
function setSelectedTestPlan(el) {
window.open('/controller/action?img_id =" + img_id + "', '_blank');
}
</script>
<a onclick="setSelectedTestPlan(this);" href="javascript:void(0);">Click Me</a>