Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    ' Pobranie ścieżki bieżącego żądania
    Dim webPath As String = Request.ApplicationPath

    ' Wyszukanie ostatniego ukośnika 
    webPath = webPath.Substring(0, webPath.LastIndexOf("/"))

    Try
        ' Pobranie obiektu konfiguracji związanego z bieżącym żądaniem
        Dim config As Configuration = _
     System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(webPath)

        ' Utworzenie nowego łańcucha połączenia na podstawie danych pól edycyjnych
        Dim newConnSetting As New _
        ConnectionStringSettings(txtName.Text, txtValue.Text, txtProvider.Text)
    
        ' Dodanie łańcucha połączenia do kolekcji
        config.ConnectionStrings.ConnectionStrings.Add(newConnSetting)
    
        ' Zapisanie zmian
        config.Save()
    Catch cEx As ConfigurationErrorsException
        lblStatus.Text = "Status: " + cEx.ToString()
    Catch ex As System.UnauthorizedAccessException
        ' Proces ASP.NET musi mieć prawa odczytu i zapisu danych w katalogu
        lblStatus.Text = "Status: " + "Proces ASP.NET musi mieć prawa
        odczytu i zapisu w katalogu"
    Catch eEx As Exception
        lblStatus.Text = "Status: " + eEx.ToString()
    End Try

    ShowConnectionStrings()
End Sub
