使用MVC传递与输入无关的值?

时间:2014-12-09 00:12:17

标签: asp.net .net asp.net-mvc-4

我有一个页面,用户可以从一个或多个图像中选择。当它们完成后,我希望它们导航到下一页,显示的内容将基于上一页的选择。

“选择”只是意味着他们点击图片并添加了一个CSS类。当他们点击链接导航到下一页时,我想收集已选择的图像,并使用TempDataSession传递该信息。

在大多数示例中,我看到输入或查询字符串用于将信息从View传递到Controller。单击链接时,如何将具有特定类的元素传递给控制器​​?

2 个答案:

答案 0 :(得分:0)

如果您正在使用链接点击,我可能只是将所选图像附加到查询字符串。我假设您不介意将此查询字符串暴露给最终用户。

我确信这可能不是你想要的答案。但正如您所说,我认为您只有合法的选项才能通过查询字符串传递值或使用隐藏的输入并通过拦截链接点击事件将页面发布到您的操作。

答案 1 :(得分:0)

你说你不想回发给服务器。您无法在不回复服务器的情况下访问 TempData 会话,因此它们超出了范围。

您只有客户端选项,因此您希望收集用户在阵列中选定的项目。

用户点击下一页后,您可以创建一个类似此?ids=1-2-3-4的查询字符串,并在下一页检索这些值。

其他想法: 长网址喜欢这有点难看,并且网址具有最大长度限制,具体取决于浏览器。如果我是你,我会回发到服务器以收集所选的值。然后使用TempData(或某些持久存储)。