如何使用BeginForm POST整个对象

时间:2015-07-07 22:53:24

标签: c# asp.net asp.net-mvc

我有一个索引视图,列出了从日志表聚合错误的SQL查询的结果。

我为这些汇总记录提供了“详细信息”链接,以便用户深入了解每条记录的详细信息。

详细信息视图将为此记录加载更多SQL数据。

由于没有要查找的ID或密钥,我使用的是错误字符串,有时会非常大并且包含“潜在危险字符”作为参数传入。

有没有更好的方法来实现这个目标?

编辑:我现在将整个结果集存储到Session中,并按照我传入的索引选择正确的行。这是有效的,但如果可能,我宁愿避免使用会话。< / p>

1 个答案:

答案 0 :(得分:1)

只需从基础表中选择一个ID并以某种方式将其链接回来。这是一个例子的草图:

检索HTML表格的数据:

SELECT MIN(LogTablePK) as ArbitraryId, LogText
FROM LogTable
GROUP BY LogText

渲染表格:

<A HREF="GetDetails.cshtml?ID={ArbitraryId}">{LogText}</A>

获取详细信息:

SELECT * FROM LogTable
WHERE LogText = (SELECT LogText FROM LogTable WHERE LogTablePK = {ArbitraryId})