我有一个输入类型=“按钮”
<input type="button" name="DeleteJob" runat="server" value="Löschen" onclick="DeleteJob()" />
和JavaScript方法:
function DeleteJob() {
if (confirm("Do you really want to delete selected job/s?"))
return true;
else
return false;
}
我怎样才能返回true,重定向到Action DeleteJob?
[HttpGet]
public ActionResult DeleteJob(string selectedObject)
{
return View();
}
答案 0 :(得分:33)
重定向:
function DeleteJob() {
if (confirm("Do you really want to delete selected job/s?"))
window.location.href = "your/url";
else
return false;
}
答案 1 :(得分:32)
function DeleteJob() {
if (confirm("Do you really want to delete selected job/s?"))
window.location.href = "/{controller}/{action}/{params}";
else
return false;
}
答案 2 :(得分:14)
我希望我可以评论yojimbo87的回答来发布这个,但我还没有足够的声誉来发表评论。有人指出,这种相对路径仅适用于根:
window.location.href = "/{controller}/{action}/{params}";
只是想确认您可以使用@ Url.Content提供绝对路径:
function DeleteJob() {
if (confirm("Do you really want to delete selected job/s?"))
window.location.href = '@Url.Content("~/{controller}/{action}/{params}")';
else
return false;
}
答案 3 :(得分:10)
也许最好使用DeleteJob url而不是按钮制作锚点?
<a href="<%=Url.Action("DeleteJob", "YourController", new {selectedObject="someObject"})%>" onclick="return DeleteJob()">Löschen</a>
并使用您已编写的javascript:
function DeleteJob() {
if (confirm("Do you really want to delete selected job/s?"))
return true;
else
return false;
}
因此,如果函数返回true,您将被重定向。如果函数返回false,您仍然会停留在页面上。
答案 4 :(得分:6)
使用@ Url.Action方法。无论您部署到哪个IIS服务器,这都将起作用并确定正确的路由。
例 - window.location.href =“@ Url.Action(”Action“,”Controller“)”;
所以在Home控制器上的Index操作的情况下 - window.location.href =“@ Url.Action(”Index“,”Home“)”;
答案 5 :(得分:2)
我有点挣扎,因为我想使用Knockout将按钮绑定到click事件。这是我的按钮以及我视图模型中的相关功能。
<a class="btn btn-secondary showBusy" data-bind="click: back">Back to Dashboard</a>
var vm = function () {
...
self.back = function() {
window.location.href = '@Url.Action("LicenseDashboard", "Application")';
}
}
答案 6 :(得分:1)
您可以向服务器发送Ajax请求,也可以将window.location用于该URL。
答案 7 :(得分:0)
(这更多是评论,但由于声誉低下,我无法评论,有人可能会觉得有用)
如果您位于 sth.com/product 中,并且想要重定向到 sth.com/product/index ,请使用
window.location.href = "index";
如果您要重定向到 sth.com/home
window.location.href = "/home";
,如果您想重定向到 sth.com/home/index
window.location.href = "/home/index";