Asp.net 将id从视图发送到控制器,但不显示在url中

Asp.net 将id从视图发送到控制器,但不显示在url中,asp.net,asp.net-mvc,c#-4.0,razor,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 例如,您看到我的url有1个,但我想这样显示我的url: ~/Home/myaction 我知道我正在发送一个值,但我不知道如何在URL中不显示该值的情况下发送该值。您应该使用po

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

这是我的密码:

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

~/Home/myaction/1
例如,您看到我的url有1个,但我想这样显示我的url:

~/Home/myaction

我知道我正在发送一个值,但我不知道如何在URL中不显示该值的情况下发送该值。

您应该使用post请求而不是get请求,这将解决您的问题


您可以使用ajax调用此post请求。

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


但问题是我在列表屏幕上,这个网格上的工作编辑按钮。我怎样才能做到这一点呢?列表屏幕是什么意思?你能提供一个例子你在使用哪个网格吗?它应该有一个onclick事件或类似的东西。你可以在javascriptOn的这个事件中调用ajax。你希望调用什么样的事件,你也可以发布更多的代码,这样就有更好的机会了解发生了什么,也有更好的机会帮助你。