2014-01-23 32 views
2

我有一个表格点击按钮时如何重定向到不同的Url?

<form id="Print" action="/Order/Print" method="POST" enctype="application/x-www-form-urlencoded" target="_blank"> 
    ... 

    <div> 
     <button onclick="window.location.pathname = '<%= Url.Action("Edit", "Order", new {id = Model.Order.ID}) %>'">Cancel</button> 
     <button onclick="getReport('print')"> Print</button> 
    </div> 
</form> 

我想重定向到/Order/Edit/XXX页面,当我点击Cancel button。现在它是带我到/Order/Print页面。

当我点击取消按钮时,如何重定向到/Order/Edit/123页面?

回答

4

我觉得你的表单操作方法覆盖您的按钮操作方法。你可以使用像下面这样的jquery点击事件。

$(document).read(function() { 

    $("#btnId").click(function (event) { 
     event.preventDefault(); 
     var url = '@Url.Action("Edit", "Order", new { id = "ID" })'; 
     window.location.href = url; 
     }); 
}); 

希望这会有所帮助。

+0

谢谢你ajexpress和所有。有用。 – Lakhae

0

在您设置的路径名后添加一个分号,然后添加返回false;以防止表单提交。

+0

感谢您的快速回复。我有几个按钮来提交表单。 – Lakhae

1

你的形式提交按钮将调用控制器方法

那么在你的方法

poblic ActionResult Yourmethod() 
{ 
//after your operations 

return RedirectToAction("controllerName", ActionName, parameter if any); 
//this methods will load a different view from a differnt controller 

} 
+0

感谢您的快速回复。这是我可以重定向到不同Url的唯一方式吗?仅供参考,我修改了我的问题。有更多按钮需要以这种形式提交。 – Lakhae

+0

你可以用锚链接包​​装你的按钮链接锚链接标记 – Rex

相关问题