2

我正在使用 ASP.NET MVC 3 构建一个应用程序。在某一时刻,从一个页面转到另一个页面时,我的 URL 如下所示:

/Employee/EntityHome/15

其中 15 是通过的 ID。有没有办法不在 URL 请求中显示它?

4

2 回答 2

1

尝试15作为 POST 参数传递给/Employee/EntityHome控制器​​,例如在网页中您可以执行以下 AJAX 请求(通过jQuery):

function send_employee_id(value) {
  $.ajax({
    url: '<your webapp>/Employee/EntityHome',
    data: { 'id' : value },
    type: 'post',
    contentType: 'application/x-www-form-urlencoded',
    async: false,
    success: function(html) {
      // whatever on success
    });
}

在您的 MVC 应用程序控制器 POST 参数容器中捕获它,作为带有“id”名称的参数并执行某些操作。

您也可以尝试使用经典的 HTML 表单来发布数据:

<form action="/Employee/EntityHome" method="post">
   . . .
   <input type="hidden" name="id" />
   . . .
</form>

(在这种情况下,请参阅控制器 POST 数据容器中带有id名称的参数)EntityHome

对于您的 ASP.MVC 应用程序,在控制器中Employee使用方法EntityHome来获取 POST 参数:

[HttpPost]
public ActionResult EntityHome(string id)
{
  var employeeId = id;
  . . .
}
于 2013-08-07T05:27:33.397 回答
1

如果 MVC 能够使用 post 而不是 get,则使用 post。

于 2013-08-07T05:14:26.137 回答