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