将数据从视图传递到操作?解?

时间:2009-04-15 10:58:15

标签: asp.net-mvc

我正在尝试将视图中的用户ID(整数)发送到操作。如果我使用routevalues对象传递它,则用户ID将显示在浏览器地址栏中。        如何在不使用上述方法的情况下将用户ID从视图传递到操作?

2 个答案:

答案 0 :(得分:1)

用户ID通常是从您的身份验证机制(cookie等)推断出来的,因此对于当前用户,您不需要传递它。

在请求中包含此内容的主要时间是当显示的页面与用户相关时 - 特别是您(或管理员)想要浏览的页面其他用户记录 - 然后您可以使用“/ users / current / orders”(使用cookie)或“/ users / 12345 / orders”(并且您应该验证浏览12345的权限)。

请注意,如果您使用/ current /或类似的,则应确保它不会在不同用户之间进行缓存 - 因此在很多方面,只显示用户ID并使用url更简单;只需要简单的“/ users / 12345 / orders”案例。

这里的情景是什么?

答案 1 :(得分:1)

您可以在表单中使用隐藏的输入元素。您通常应该使用POST,而不是GET(即使用表单,而不是href)来处理系统中正在更改数据的任何内容。