C# ASP.NET MVC 2-如何在响应时传递查询字符串?

C# ASP.NET MVC 2-如何在响应时传递查询字符串?,c#,asp.net-mvc,C#,Asp.net Mvc,我需要在响应时传递一个querystring,以便通过jQuery我可以对它做一些事情 大概是这样的: 返回RedirectToAction(“登录”、“帐户”,新建{id=“?操作=更新”}) URL需要以如下方式结束:../Account/LogOn/?action=update 但是上面的代码会生成以下内容:../Account/LogOn/%3production%3dupdate 我不想要编码 帮助?我认为,在这种情况下,您应该使用 return RedirectToAction("A

我需要在响应时传递一个querystring,以便通过jQuery我可以对它做一些事情

大概是这样的: 返回RedirectToAction(“登录”、“帐户”,新建{id=“?操作=更新”})

URL需要以如下方式结束:../Account/LogOn/?action=update

但是上面的代码会生成以下内容:../Account/LogOn/%3production%3dupdate

我不想要编码


帮助?

我认为,在这种情况下,您应该使用

return RedirectToAction("About", "Home", new { sendto = "update" });

您不能使用关键字“action”,因为它将被mvc使用,所以我将其替换为“sendto”。

我认为,在这种情况下,您应该使用

return RedirectToAction("About", "Home", new { sendto = "update" });

您不能使用关键字“action”,因为它将由mvc使用,因此我将其替换为“sendto”。

在控制器中,如Pawel所述,用@符号命名参数。 所以


在控制器中,如Pawel所写,用@符号命名参数。 所以


您希望使用查询字符串而不是将操作直接放入路径的任何特定原因,例如
/Account/LogOn/update
?您还可以定义一个路由,它是Account/LogOn/{action}或类似的路由,或者使用Area=Account、controller=LogOn、action=update…@Hightechrider-原因是客户端代码想要检索一些参数大多数人使用隐藏字段、javascript常量、cookie等等。。。将参数传递给javascript,而不是用户可以很容易修改的查询字符串参数。是否有任何特定原因需要使用查询字符串而不是将操作直接放入路径中,例如
/Account/LogOn/update
?您还可以定义一个路由,它是Account/LogOn/{action}或类似的路由,或者使用Area=Account、controller=LogOn、action=update…@Hightechrider-原因是客户端代码想要检索一些参数大多数人使用隐藏字段、javascript常量、cookie等等。。。要将参数传递给他们的javascript,不要查询用户可以很容易修改的字符串参数。关于action关键字,也许@action=“update”会起作用?@似乎用于转义关键字,如@class。在本例中,不同的是action是MVC用于处理路由信息的特殊关键字,而class是c#使用的特殊关键字-这就是需要转义的原因。关于action关键字,也许@action=“update”会起作用?@似乎用于转义关键字,如@class。在本例中,不同的是action是MVC用来处理路由信息的特殊关键字,而class是c#使用的特殊关键字,这就是为什么需要转义它。