Asp.net mvc 将数据从视图传递到操作??解决方案

Asp.net mvc 将数据从视图传递到操作??解决方案,asp.net-mvc,Asp.net Mvc,我正在尝试将用户id(整数)从视图发送到操作。如果我使用routevalues对象传递它,用户id将在浏览器地址栏中可见。 如何在不使用上述方法的情况下将用户id从视图传递到操作???用户id通常是从您的身份验证机制(cookie等)推断出来的,因此对于当前用户,您不需要传递它 在请求中包含此内容的主要时间是当显示的页面与用户相关时,尤其是在您(或管理员)希望浏览其他用户记录的位置,然后您可以使用“/users/current/orders”(使用cookie)或“/users/12345/or

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

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

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

注意,如果您使用/current/或类似的,您应该确保它不会在不同的用户之间缓存-因此在许多方面,只显示用户id和检查url更简单;只需使用简单的“/users/12345/orders”案例即可


这里的场景是什么?

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

页面上有朋友列表,单击“删除”链接后,该用户id(朋友id)应传递给操作。我尝试了viewdata,但由于使用了foreach()循环,因此得到的错误是“具有该名称的项已添加到viewdata中”。+1;但谷歌在抓取你网站上的链接时删除了你所有的数据,这真是太可笑了-P