Попробуйте это
let filterOpacity = OpacityAdjustment()
filterOpacity.opacity = 1
let filterImage = PictureInput.init(image: UIImage.init(named: "Elevate.png")!)
let filterMultiplyBlend = MultiplyBlend()
imageOutput = sourceImage!.filterWithPipeline{input, output in
input --> filterOpacity --> filterMultiplyBlend --> output
}
Как другие указали, можно сохранить его на Сессии или ViewState. Если это - конкретная страница, мне нравится хранить его в ViewState в противоположность Сессии, но я не знаю, предпочитается ли один метод обычно по другому.
В VB, Вы сохранили бы объект в ViewState как:
ViewState(key) = value
И получают его как:
value = ViewState(key)
Только для суммирования, что сказано выше.
можно использовать Сессию, Состояние отображения или скрытое поле.
я лично предпочитаю состояние отображения, поскольку оно будет работать в средах веб-фермы, Сессия не делает, оно не хранит его на сервере, ожидающем пользователя, в течение максимум 20 минут, которые будут удалены, и в общем состоянии отображения, место, чтобы быть для данных уровня страницы.
можно использовать скрытое поле, но тогда пользователь мог более легко изменить его.
Сохраните его на Сессии.
Page.Session["MyPage_FileID"] = intFileID
у Вас должна будет быть логика, которая управляет им, поскольку пользователь перешел вокруг, но если это всегда устанавливается, когда страница загружается от ТОГО, ЧТОБЫ ПОЛУЧАТЬ (или Вы очищаете его, если не доступный на ДОБИРАЮТСЯ), тогда, необходимо быть в порядке с помощью него позже от Сессии на Вашем отправлять PostBack.
Помните:
Каждый раз Ваши выполнения серверного кода, это находится в совершенно новом экземпляре Вашего класса страницы. Это для каждой обратной передачи.
На самом деле начиная со страницы ASP.NET обратные передачи к себе - включая строку запроса - Вы могли просто удалить If Not Page.IsPostBack
условие. Тогда это принялось на каждой обратной передаче.
Я лично принял бы решение сохранить значение в состоянии управления вместо состояния отображения, поскольку состояние отображения может легко быть выключено. ControlState сохранится, даже если состояние отображения будет выключено по какой-либо причине. Я включал пример в то, как это может быть сделано.
Private intFileId As Integer = 0
Public Property FileID() As Integer
Get
Return intFileId
End Get
Set(ByVal value As Integer)
intFileId = value
End Set
End Property
Protected Overrides Function SaveControlState() As Object
Dim objState(2) As Object
objState(0) = MyBase.SaveControlState()
objState(1) = Me.FileID
Return objState
End Function
Protected Overrides Sub LoadControlState(ByVal savedState As Object)
Dim objState() As Object
objState = savedState
MyBase.LoadControlState(objState(0))
Me.FileID = CInt(objState(1))
End Sub
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Me.Page.RegisterRequiresControlState(Me)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
If Not String.IsNullOrEmpty(Request.QueryString("fileid")) Then
Me.FileID = CInt(Request.QueryString("fileid"))
End If
End If
Response.Write(Me.FileID.ToString())
End Sub