我正在使用ASP.NET MVC 3构建一个应用程序。有一次,从一个页面到另一个页面,我的URL看起来像这样:
/Employee/EntityHome/15
其中15是传递的ID。有没有办法不在URL请求中显示它?
答案 0 :(得分:1)
如果MVC能够使用post而不是get,那么请使用post。
答案 1 :(得分: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 app控制器POST参数容器中,作为带有“id”名称的参数并执行某些操作。
您还可以尝试使用经典HTML表单发布数据:
<form action="/Employee/EntityHome" method="post">
. . .
<input type="hidden" name="id" />
. . .
</form>
(在这种情况下,请参阅id
控制器POST数据容器中带有EntityHome
名称的参数
对于您的ASP.MVC应用,在控制器Employee
中使用方法EntityHome
来获取POST paramer:
[HttpPost]
public ActionResult EntityHome(string id)
{
var employeeId = id;
. . .
}