我想通过jQuery
点击Index.cshtml
按钮来调用新页面:
$("#btnSearch").click(function(){
var idser = $("#Name").val();
$.ajax({
type: "POST",
url: "/User/getAll",
id : idser,
success: function() {
alert("success");
}
});
});
});
它调用我的控制器操作:UserController/getAll
[System.Web.Services.WebMethod]
public ActionResult getAll(string id,string name)
{
return View("AllUser");
}
但仍然在Index.cshtml
未转到AllUser.cshtml
页面?我不知道为什么......请帮忙。
更新:
我的jquery函数在控制器中调用我的动作,动作正常但不会返回到AllUser.cshtml页面。
答案 0 :(得分:0)
更新以回应评论中的澄清:
在success
回调中,
location.href="/user/getall";
这将导致浏览器在ajax帖子完成后导航到该URL。
一个按钮,用于将输入中的值发布到另一个页面 - 这是一个表单。
<form action="/User/getAll">
<input type="submit" value="Click me">
</form>
我不知道你的id来自哪里,但你可以在表单中放入一个隐藏的输入和一个脚本来填充它(除非它是用户输入 - 然后你可以将输入放在表单中。 )
<form action="/User/getAll">
<input type="submit" value="Click me">
<input type="hidden" name="id" id="hiddenId"/>
</form>
<script>
$("#hiddenId").val($("#Name").val());
</script>
或者,如果您想确保表单的action
网址符合您的路线:
<form action='@Url.Action("getAll", "User")'>
(假设控制器被称为“用户”。)
答案 1 :(得分:0)
请查看文档here。我会尝试在Ajax
设置中使用tag-helper,如下所示:
$("#btnSearch").click(function(){
var idser = $("#Name").val();
$.ajax({
type: "POST",
url: '@Url.Action("User", "getAll", new { id = "ID", name = "searchName" })',
id : idser,
success: function() {
alert("success");
}
});
});
});
答案 2 :(得分:0)
首先,我不知道在重定向其他页面时使用ajax的目的是什么?
但是如果你仍然想使用Ajax,你可以通过两种方式实现这一目标:
1)您可以在成功区块中指定window.location
。
2)按照以下方式使用您的代码:
$("#btnSearch").click(function(){
var idser = $("#Name").val();
$.ajax({
type: "GET",
url: "/User/getAll",
id : idser,
success: function() {
alert("success");
return true;
}
});
});
});
您可以通过在脚本中添加return true
来尝试。
希望对你有帮助
答案 3 :(得分:0)
我们走了:
window.location.href =&#34; yourUrl&#34;可以帮到你。
$("#btnSearch").click(function(){
var idser = $("#Name").val();
$.ajax({
type: "POST",
url: "/User/getAll",
id : idser,
success: function() {
alert("success");
window.location.href ="../yourUrl"; //This is working!
}
});
});
});
您可以在控制器中重定向,如:
[System.Web.Services.WebMethod]
public ActionResult getAll(string id,string name)
{
return RedirectToAction("NameOfAction"); //Here is going Name of Action wich returns View AllUser.cshtml
}
希望它有所帮助;)