1
我發展在asp.net mvc的網頁。在動作中,控制器收到
一個對象,它存儲在會話的一個項目的對象的值,然後將其傳遞作爲參數來存儲所述對象中的另一個變量和一些驗證後可以修改變量的值的方法。我的問題是,一旦該方法改變變量的值,以任何理由,我不知道在會話項的值改變爲好。爲什麼會話數據項更改其值?
有沒有人知道爲什麼會話項目中的數據發生變化,以及如何實現不變更?
這裏的動作和方法的代碼:
<AllowAnonymous()>
Function ListadoArticulos(ByVal filtroArticulos As Capturas.FiltrosArticulosAnuncios, Optional iPage As Integer = 1) As ActionResult
Dim filtroOriginal As Capturas.FiltrosArticulosAnuncios = CType(Me.Session.Item("filtroArtListaOriginal"), Capturas.FiltrosArticulosAnuncios)
Dim filtroLista As Capturas.FiltrosArticulosAnuncios = CType(Me.Session.Item("filtroArtLista"), Capturas.FiltrosArticulosAnuncios)
ViewBag.iIdTipoBien = 5
ViewBag.iValue = New SelectList(orderListItems, "iValue", "sDescripcionValue", filtroArticulosNew.iOrdenLista)
ViewBag.filtrosAplicados = Capturas.FiltrosArticulosAnuncios.DepurarFiltroAnuncioArticulo(filtroOriginal, filtroLista)
Return View(listaAnuncios.ToPagedList(iPage, 27))
End Function
Public Shared Function DepurarFiltroAnuncioArticulo(ByVal filtroOriginal As Capturas.FiltrosArticulosAnuncios, ByVal filtroAplicado As Capturas.FiltrosArticulosAnuncios)
Dim filtroResultado As New Capturas.FiltrosArticulosAnuncios
filtroResultado = filtroAplicado
'Evalúa el valor de cada propiedad del filtro y actualiza la propiedad en el caché
If filtroOriginal.iIdPais > 0 Then
filtroResultado.iIdPais = Nothing
filtroResultado.Pais = Nothing
End If
If filtroOriginal.iIdCategoria > 0 Then
filtroResultado.iIdCategoria = Nothing
filtroResultado.Categoria = Nothing
End If
If filtroOriginal.iIdTipoOperacion > 0 Then
filtroResultado.iIdTipoOperacion = Nothing
filtroResultado.TipoOperacion = Nothing
End If
If filtroOriginal.iIdUnidadPolitica > 0 Then
filtroResultado.iIdUnidadPolitica = Nothing
filtroResultado.UnidadPolitica = Nothing
End If
If filtroOriginal.lPrecioDesde > 0 Then
filtroResultado.lPrecioDesde = Nothing
End If
If Not IsNothing(filtroOriginal.sDescripcionArticulo) Then
filtroResultado.sDescripcionArticulo = Nothing
End If
Return (filtroResultado)
End Function
End Class
謝謝!這就是答案。我剛剛實現了ICloneable Interfece,我創建了對象的副本並完成了,問題解決了。 – Henry