Asp.net mvc 4 在MVC中,如何在客户端保存操作参数值并在重定向到带有参数的操作时使用它们?

Asp.net mvc 4 在MVC中,如何在客户端保存操作参数值并在重定向到带有参数的操作时使用它们?,asp.net-mvc-4,Asp.net Mvc 4,如果我在一个页面上并决定单击“取消”,我想将它重定向到一个带有参数的操作方法。但要做到这一点,如何在页面上保存动作参数值,并在以后单击链接或按钮时使用它们呢 一种方法是在呈现页面时在页面中创建隐藏字段并保存其中的值。使用Java脚本从中提取值并更改文档 在mvc中,这是正确的方法还是有更干净的方法来实现这一点。请建议。如果您需要使用按钮,则需要使用jquery(或vanilla java脚本)通过按钮将用户重定向到某个位置。作为一个选项,您可以使用数据url属性创建按钮,并使用@url.Acti

如果我在一个页面上并决定单击“取消”,我想将它重定向到一个带有参数的操作方法。但要做到这一点,如何在页面上保存动作参数值,并在以后单击链接或按钮时使用它们呢

一种方法是在呈现页面时在页面中创建隐藏字段并保存其中的值。使用Java脚本从中提取值并更改文档


在mvc中,这是正确的方法还是有更干净的方法来实现这一点。请建议。

如果您需要使用按钮,则需要使用jquery(或vanilla java脚本)通过按钮将用户重定向到某个位置。作为一个选项,您可以使用
数据url
属性创建按钮,并使用
@url.Action
辅助方法(代替
Html.ActionLink
ActionLink生成整个
a
标记,其中包含所有Html参数,如
href
和您提供的其他参数,但
Url.Action
仅生成Url-href属性的值)若要生成带有参数的链接并实现按钮,请单击事件处理程序以通过此url重定向用户。示例:

按钮(视图、剃须刀语法):

<input type="button" data-url="@Url.Action("Action","Controller", new { parameter=value }, null)" value="Click me" id="my-button"/>
   $(document).ready(function(){
        $('#my-button').click(function(){
            window.location.href = $(this).data('url');
        });
    });
1) 如果数据库中已有这些参数

您只需传递一个
id
或一些单击的数据,就可以从中检索控制器中所需的值

在语法中传递值

 @Html.ActionLink("cancle","ActionName","ControllerName", new { id = Model.Id, type = "button" })
在控制器中使用此
id
,从数据库中获取参数并继续

2) 如果参数是动态获取的(在DB中不可用)


您的方法将很好(通过将其保存在隐藏字段中,然后在controller中检索或在JS中处理)。

如果您需要通过链接将用户重定向到带有参数的操作,您可以使用
@Html.ActionLink()
方法重载,该重载使用
对象
呈现路由参数-
@Html.ActionLink(“链接文本”,“Action”、“Controller”、new{parameter=value},null)
。还有一个很好的技巧-小心正确的方法重载,因为
@Html.ActionLink(“linktext”、“Action”、“Controller”、new{parameter=value})
将不起作用,因为
new{parameter=value}
将是html属性,而不是呈现链接中的路由值。如果我需要使用按钮…我可以在哪里保存参数值?