2013-08-07 26 views
2

我建立使用ASP.NET MVC 3,应用程序在一个点上,从一个网页到另一个,我的URL看起来像这样:我可以隐藏来自URL的请求信息吗?

/Employee/EntityHome/15 

,其中15是通过ID。有没有什么方法不要在URL请求中显示它?

+1

通行证'15'作为POST参数'/雇员/实体家庭控制器。 – rook

+0

@rook您应该将其作为答案发布。 :) – doppelgreener

回答

1

如果MVC能够使用post而不是get然后使用post。

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> 

(在这种情况下,看参数在EntityHome控制器POST数据容器id名)

为了您ASP.MVC应用,在控制器Employee使用方法EntityHome抢POST paramer:

[HttpPost] 
public ActionResult EntityHome(string id) 
{ 
    var employeeId = id; 
    . . . 
} 
相关问题