Видимость кнопок до и после сеанса вызывается в VB

#asp.net #vb.net #forms

#asp.net #vb.net #формы

Вопрос:

У меня есть две веб-формы, скажем, целевая форма и исходная форма. У меня есть две кнопки Сохранить и Обновить в целевой форме. То, что я хочу, чтобы эти кнопки выполняли, — это просто работа с их видимостью. Я хочу, чтобы кнопка сохранения была видна при открытии этой формы, но кнопка обновления была невидимой. Но когда эта форма действует как целевая форма, т. Е. Когда эта форма перенаправляется из другой формы, я хочу, чтобы кнопка сохранения была невидимой, а кнопка обновления — видимой. Вот код, который я написал в целевой форме

 Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

            update_btn.Visible = False               
            Dim str As String
            Dim i As Integer
            Dim checkData As New DataTable
            str = "select AreaID, Years, StateForest, PrivateForest, TotalForest, PercentageSF, PercentageTotal from forestry_area where AreaID = '" amp; Session("AreaID").ToString() amp; "'"
            checkData = c.PopulateData(str, i)
            If i > 0 Then
                ddl_year.SelectedItem.Text = checkData.Rows(0).Item("Years").ToString
                SFtx.Text = checkData.Rows(0).Item("StateForest").ToString
                PFtx.Text = checkData.Rows(0).Item("PrivateForest").ToString
            End If
            txtAreaID.Text = Session("AreaID").ToString()
            update_btn.Visible = True
            save_btn.Visible = False
    End Sub
  

И это код, который я написал в исходном виде:

 Protected Sub Grid_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Grid.SelectedIndexChanged

        Dim id As String
        Dim lbl As Label = Grid.SelectedRow.FindControl("Lbl_ID")
        id = lbl.Text
        Session.Add("AreaID", id)
        Response.Redirect("target form.aspx")
    End Sub
  

Этот код, кажется, работает изначально, но когда я нажимаю кнопку обновления, вся кнопка исчезает, и обновление даже не работает.

Комментарии:

1. Нам нужно больше вашего кода, чтобы узнать проблему. Опубликуйте свое обновление, нажав код btn.

Ответ №1:

Если я правильно понимаю, ваша форма действует как целевая, если Session("AreaID") определена. Таким образом, вы можете проверить это значение во время Page_Load , чтобы показать / скрыть свои кнопки.

Пожалуйста, помните, что вам необходимо удалить переменные сеанса, когда они стали непригодными.

Вы также можете использовать параметр в вашем Response.Redirect и проверить этот параметр вместо переменной сеанса:

 Response.Redirect("targetform.aspx?areaID="   id)
  

Комментарии:

1. Спасибо за ответ, это сработало с некоторыми дополнительными изменениями при загрузке целевой страницы формы. Спасибо