14 messaggi dal 02 novembre 2011
Buongiorno a tutti
Passando da "Visual studio 2012 Express" a "VS 2015 Community" ho un problema durante il debug.
VS mi segna come errori cose che sulle vecchie versioni non lo erano e non riesco a capire (perdonate l'ignoranza) cosa devo fare.

Se in VB, in pagine in area riservata, utilizzo label.text o textbox.text (giusto per fare 2 esempi) il sistema mi sottolinea in rosso e mi dice che:
label e textbox non sono dichiarati e potrebbero essere inaccessibili a causa del livello di protezione ma io non ho idea di quale sia la forma giusta per dichiararli.

Potete aiutarmi per favore?

grazie 1000
Quindi nel 2012 i problemi non si presentano?

Hai aperto la solution con VS 2015 (quindi avrai una cartella backup con la vecchia versione). Cosa diceva il log di aggiornamento? Probabilmente ti ha creato un file di log nella root del progetto.

Hai provato a fare un clean e un rebuild del progetto?

Puoi riportare il codce della pagina aspx @Page, e il codice del file designer.cs inerente a una delle Label che ti sta dando il problema?

Ormai programmano tutti... ma la professionalità appartiene a pochi
14 messaggi dal 02 novembre 2011
Ciao
Innanzi tutto grazie per avermi risposto.
Da autodidatta mi muovo sicuramente in maniera poco professionale e non ho file di log.
Inoltre i 2 VS sono su 2 PC differenti e dove c'è uno non c'è l'altro e viceversa.
Prima di scriverti ho verificato, per scrupolo, che il 2012 non riporta l'errore che invece riporta il 2015

Ti posto i 2 codici che sono relativi ad una pagina di login

@page
<div>
<div>
<p class="testoasx"><strong>Username</strong></p>
</div>
<div>
<p>
<asp:TextBox ID="txtUsername" runat="server" Width="100%" max-width="100%" /></p>
</div>

<div>
<p class="testoasx"><strong>Password</strong></p>
</div>
<div>
<p>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Width="100%" max-width="100%" /></p>
</div>

<div>
<asp:Button ID="Button1" runat="server" Text="INVIO" OnClick="CheckCredentials_Click"/></div>
<div>
<asp:Label ID="lblCheck" runat="server" /></div>
</div>


parte del codebehind

Sub CheckCredentials_Click(ByVal s As Object, ByVal e As EventArgs)
If (CheckCredentials(txtUsername.Text, txtPassword.Text) = True) Then
Session("Autenticato") = "OK"
lblCheck.Text = "Credenziali OK!"
Com01 = "riservato/default.aspx?UserName=" & txtUsername.Text
Response.Redirect(Com01)
Exit Sub
Else
lblCheck.Text = "Credenziali NO OK!"
'Response.Redirect("riservatoiscritti/default.aspx")
Response.Redirect("loginCustom.aspx")
End If
End Sub


mi sottolinea come errore:
txtUsername
txtPassword
lblCheck

l'errore è sempre xyz non è dichiarato. Potrebbe essere inaccessibile a causa del livello di protezione
Come ti dicevo, mi servirebbe anche:
file aspx:
la direttiva di pagina:
<%@ Page ....
e la dichiarazione dei controlli nel file designer se esiste altrimenti nel vb del code behind. Es:
protected global::System.Web.UI.WebControls.Literal myLiteral;

Ormai programmano tutti... ma la professionalità appartiene a pochi
E anche se nel code behind hai:
Imports Microsoft.VisualBasic

Ormai programmano tutti... ma la professionalità appartiene a pochi
14 messaggi dal 02 novembre 2011
scusa :-)

<%@ Page Title="Login" Language="VB" MasterPageFile="~/MasterPage00.master" AutoEventWireup="false" CodeFile="loginCustom.aspx.vb" Inherits="loginCustom" %>




Imports System.IO
Imports System.Data.OleDb
Partial Class loginCustom
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
End Sub

Dim objConn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" _
& Server.MapPath("") _
& "\App_Data\Customers.mdb")
Dim objCmd As OleDbCommand
Dim objDR As OleDbDataReader
Dim Com01 As String

Dim Autenticato As Boolean
Function CheckCredentials(ByVal Username As String, ByVal Password As String) As Boolean
Dim Autenticato As Boolean
objConn.Open()
objCmd = New OleDbCommand("SELECT Salt, Pass FROM Users WHERE Username=@givenUsername", objConn)
objCmd.Parameters.AddWithValue("@givenUsername", Username)

objDR = objCmd.ExecuteReader()
If Not objDR.Read() Then
Autenticato = False
Return False
Else
Dim strSalt As String = objDR("Salt")
Dim strStoredPassword As String = objDR("Pass")
Dim strGivenPassword As String =
FormsAuthentication.HashPasswordForStoringInConfigFile(strSalt & Password, "SHA1")
Autenticato = True
Return strStoredPassword = strGivenPassword
End If
End Function
Sub CheckCredentials_Click(ByVal s As Object, ByVal e As EventArgs)
If (CheckCredentials(txtUsername.Text, txtPassword.Text) = True) Then
Session("Autenticato") = "OK"
lblCheck.Text = "Credenziali OK!"
Com01 = "riservato/default.aspx?UserName=" & txtUsername.Text
Response.Redirect(Com01)
Exit Sub
Else
lblCheck.Text = "Credenziali NO OK!"
Response.Redirect("loginCustom.aspx")
End If
End Sub
End Class
Quindi hai solo file aspx e aspx.vb? Non hai i file aspx.designer.vb?
Prova ad aggiungere l'import che ti ho indicato nel post precedente.
Poi prova anche a modificare l'aspx in qualsiasi punto e ricompilare.

Il codice è esattamente identico al 2012? Non hai aggiunto codice o spostato file in cartelle o altre operazioni?

Ormai programmano tutti... ma la professionalità appartiene a pochi
Comunque penso che la soluzione sia l'opzione Explicit.
Tools>Option>Projects and solutions>VB Defaults
Io ho Explicit : On.
Comunque può essere ridefinita anche a livello di classe.
Magari nel tuo VS 2012 è impostata diversamente.

Ormai programmano tutti... ma la professionalità appartiene a pochi

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.