【问题标题】:Send id from View to controller but not show in url将 id 从 View 发送到控制器但不显示在 url
【发布时间】:2015-03-11 03:55:03
【问题描述】:

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

这是我的代码:

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

~/Home/myaction/1

例如,你看到我的 url 有 1,但我想这样显示我的 url:

~/Home/myaction

我知道我正在发送一个值,但我不知道如何发送它而不显示在 URL 中。

【问题讨论】:

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


    【解决方案1】:

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

    你可以使用ajax调用这个post请求。

    【讨论】:

    • 但问题是我在列表屏幕上,这项工作在网格编辑按钮上。我怎样才能做到这一点..?
    • 列表屏幕是什么意思,能否举个例子
    • 你使用的是哪个网格
    • 它应该有一个 onclick 事件或类似的东西你可以在 javascript 中在这个事件中进行 ajax 调用
    • 您希望在什么事件上进行此调用,您还可以发布更多代码,以便更好地了解正在发生的事情并更好地帮助您。
    【解决方案2】:

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

    ASP.NET MVC Form Submit with Link instead of Button

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      相关资源
      最近更新 更多