将参数传递给Controller ..但不在URL上

SF *_*per 5 c# model-view-controller asp.net-mvc-routing asp.net-mvc-3

有没有办法将参数传递给控制器​​而不将其放在URL上?

例如, http://www.winepassionate.com/p/19/wine-chianti-docg-la-moto

URL上的值为19.如果您实际将该值更改为另一个,则即使页面名称保持不变,页面也会显示不同的记录.

所以我想不传递URL上的ID,但仍然可以将其传递给Controller.建议的方法是什么?

Tra*_*s J 2

如果页面是 GET,并且您按照应有的方式遵循 PRG (Post-Redirect-Get),那么您可以使用 TempData["dataName"] = value; 在你的 [HttpPost] 控制器中,然后在你的 [HttpGet] 方法中使用它。这实际上取决于页面的调用方式。

但是,如果与安全无关,让用户更改该数字并没有什么问题,并且在 url 中显示非重要信息是常见的做法。