我有一个ASP.NET MVC 5网站。我在设计表时使用动作链接来显示数据列表。从该动作链接导航时,我已经传递了一个类对象作为参数。访问该链接后,它将该对象参数解析为长查询字符串,该字符串显示URL中的数据。
在MVC中处理查询字符串的方式是什么?
是否可以隐藏查询字符串或将对象作为参数传递而不将其暴露在URL中的方法?
答案 0 :(得分:2)
您无法隐藏查询字符串,它是URL的一部分。您可以通过加密它。
一种解决方案是使用POST请求而不是GET。然后,您可以在请求的正文中发送数据,该数据不会显示在URL中。但是,如果您检查网络流量(例如,如果在客户端计算机上运行Fiddler,它仍然可以访问。
另一种解决方案是仍然使用GET请求,但不传递所有数据,而只是传递一个ID,然后使用该ID从数据库再次加载数据。请注意,此ID也可以被欺骗,因此请确保用户实际上具有请求此ID的权限。
array = ["BELT", "BUNKER", "CABLES/ACCESSORIES ", "CABLE", "CHUTES", "GOLD"]
lbl.text = array.joined(separator: ",")