将ID从View发送到控制器,但不在url中显示

时间:2015-03-10 19:25:31

标签: asp.net asp.net-mvc c#-4.0 razor

我想在视图中向asp.net mvc razor中的控制器发送一个id,但我不想在url中显示id。我怎样才能做到这一点?我该怎么办?有办法解决我的问题吗?

这是我的代码:

 @Url.Action("myaction", "controller", new { id = 1 }),

~/Home/myaction/1

例如,您看到我的网址为1,但我想显示我的网址:

~/Home/myaction

我知道我正在发送一个值,但我不知道如果没有它显示在URL中就会发送它。

2 个答案:

答案 0 :(得分:0)

您应该使用帖子请求而不是获取请求,这将解决您的问题。

您可以使用ajax调用此帖子请求。

答案 1 :(得分:0)

你必须记住,在一天结束时它只是HTTP。您的普通锚标记会生成GET请求。 GET请求不能拥有正文,因此传递id的唯一方法是通过URL。另一种选择是拦截click事件并执行POST或PUT请求。然后你可以在身体中包含id。看看这篇文章的一些asp.net示例:

ASP.NET MVC Form Submit with Link instead of Button