我有一个使用jQuery Datatable的应用程序,我想点击一行,选择id,然后调出一个允许编辑该视图并更新底层数据库的视图。 Ajax让我进入编辑视图的控制器动作,但我无法显示视图本身。相反,控制器操作只返回ajax。我尝试了很多没有快乐的战术。这是一个基于标准CORE模板的简单示例:
@section scripts{
<script>
$(document).on('click', 'button.number', function () {
alert($(this).val());
$.ajax({
method: 'GET',
url: '@Url.Action("About", "Home")'
});
});
</script>
}
<h3>Home Page</h3>
<div>
<button href="#" type="button" class="number" id="one" value="1">1</button>
<button href="#" type="button" class="number" id="two" value="2">2</button>
</div>
运行调试器会显示“关于”操作被称为“确定”,但视图未被呈现 - 它只返回到ajax。我尝试了各种重定向,但任何&#34;返回&#34;回到ajax。
是否存在这种或者更好的方式从JS到控制器动作?感谢
编辑: Batuhan得到了他的解决方案,但我重新发布它以清理一点语法并添加参数传递,这是我最初的目标。
$(document).on('click', 'button.number', function () {
var id = $(this).val();
alert(id);
$.ajax
({
method: 'GET',
url: '@Url.Action("About", "Home")',
}).success(function (result) {
window.location.href = '/home/about/' + id;
});
});
&#13;
这是关于行动的家庭控制器:
public IActionResult About(int id)
{
string parm2 = id.ToString();
ViewBag.msg = parm2;
return View();
}
&#13;
关于页面:
@{
ViewData["Title"] = "About";
}
<p>
<h1> @ViewBag.msg </h1>
</p>
&#13;
所有工作都是最初希望的!
答案 0 :(得分:0)
const FolderVisibility = new Enum<typeof data>(data) as Enum<typeof data> & typeof data
这是一个解决方案,因为您无法从ajax调用重定向。它以html格式返回视图所以如果你想要回发,你需要使用window.href =&#34; url&#34 ;;