C# - 使用Session存储变量的副本而不是引用

Nir*_*Nir 3 c#

我有一个asp:ImageButton,OnClick ="Btn_OnClick".
在Btn_OnClick我有这一行:

DataTable dtTable = (DataTable)Session["someSessionKey"]
Run Code Online (Sandbox Code Playgroud)

和dtTable在功能中被改变.

我注意到如果按钮被多次点击,我从会话中获取的dtTable包含更改的表,可能意味着dtTable不是副本而是会话变量的引用.

如何更改Session ["someSessionKey"]的副本,而不是实际值?
谢谢!

svi*_*nto 5

DataTable dtTable = ((DataTable)Session["someSessionKey"]).Copy();
Run Code Online (Sandbox Code Playgroud)