如果我在某个页面上并决定单击取消,我想将其重定向到带参数的操作方法。但要做到这一点,在页面上保存动作参数值的方法是什么,稍后在点击链接或按钮时使用它们。
一种方法是在呈现页面时在页面中创建隐藏字段并在其中保存值。使用Java脚本从中提取值并更改文档
这是在mvc中执行此操作的正确方法,还是有更简洁的方法来实现此目的。请建议。
答案 0 :(得分:0)
如果您需要使用按钮,则需要使用jquery(或vanilla java脚本)按钮将用户重定向到某个位置。作为选项,您可以使用data-url
属性创建按钮,并使用@Url.Action
辅助方法(而不是Html.ActionLink
。ActionLink
生成整个a
标记所有html参数,如href
和您提供的其他参数,但Url.Action
仅生成url - href属性的值)以生成带参数的链接,并实现按钮单击事件处理程序以通过此URL重定向用户。例如:
按钮(视图,Razor语法):
<input type="button" data-url="@Url.Action("Action","Controller", new { parameter=value }, null)" value="Click me" id="my-button"/>
相关jquery:
$(document).ready(function(){
$('#my-button').click(function(){
window.location.href = $(this).data('url');
});
});
答案 1 :(得分:0)
1)如果你已经在数据库中有参数。
您需要的只是传递id
或点击的数据,您可以从控制器中检索所需的值。
在语法中传递值。
@Html.ActionLink("cancle","ActionName","ControllerName", new { id = Model.Id, type = "button" })
在控制器中使用此id
并从数据库中获取参数并继续。
2)如果动态获得参数(在DB中不可用)。
您的方法会很好(通过将其保存在隐藏字段中,然后在控制器中检索或在JS中处理它)。