Problemi con pagine ascx

martedì 23 marzo 2004 - 08.42

alegin9 Profilo | Junior Member

Ho importato una pagina aspx in ascx, cancellando tutti i riferimenti HTML, body e form. Ora ho salvato il tutto ma quando cerco di vederla in un browser visualizzo questo errore:
Questo tipo di pagina non è disponibile.
Descrizione: Il tipo di pagina richiesto non è disponibile perché l'amministratore non ha specificato un gestore o perché è stato vietato l'accesso a questo tipo di pagina in modo eplicito. L'estensione '.ascx' potrebbe non essere corretta. Verificare l'URL riportato sotto e assicurarsi che sia digitato correttamente.
Come posso risolvere?

freeteo Profilo | Guru

guarda l'allegato, perche forse nella configurazione di iis ti manca l'associazione per questa estensione alla dll isapi_... in modo che la pagina venga elaborata dal framework.
o lo fai a mano dal management di iis (sconsiglio ma si puo fare) o vai nella directory :
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
lanci "aspnet_regiis.exe -i" che ti reinstalla il supporto ad asp.net.

prova cosi ;-) ciao

alegin9 Profilo | Junior Member

ho capito perchè non riuscivo a vederla ma ora ho un nuovo problema, come mai la proprietà connectionstate non viene riconosciuta:
faccio un controllo sulla mia pagina ascx, se la connessione al database è chiusa (Connectionstate.closed) allora effettuo una connection.open.Quando vado ad aprire la pagina visualizza l'errore che la variabile Connectionstate non è riconosciuta... ma come è possibile???

freeteo Profilo | Guru

tieni presente che un controllo viene gestito autonomamente (eventi suoi etc...) quindi se non gli passi il valore della variabile in qualche modo (post o querystring) non esiste la variabile (che magari hai nella pagina aspx che ospita il controllo).
Percio forse dovresti provare ad usare una classe la quale ti dice questa proprieta.
PS: valuta se fare la classe shared (o static in c#)

prova a darci 1'occhiata
ciao

omeca Profilo | Newbie

Io anche ho un problema con le pagine ascx da inserire in pagine aspx.Qua=
ndo chiamo la pagina aspx che contiene questo codice:

<%@ Page Language="VB" %>
<%@ Register TagPrefix="TYASPNET" TagName="Calcolatrice" src="Calcolatrice.ascx" %>

il cui codice calcolatrice ma anche agenda nel caso dell'altro file mi dice in entrambe i casi:

Impossibile trovare il file "c:\inetpub\wwwroot\tyaspnet\Calcolatrice.ascx".

Come mai avviene questo?Anche per me vele lo stesso,cioè debbo installare la directory che tu hai citato prima?Fate sapere grazie

freeteo Profilo | Guru

ciao,
dall'errore che vedo sembra che non sia mappato giusto il path, ovvero nella directory dove hai la pagina aspx che contiene il controllo calcolatrice, non c'e' anche il file ".ascx".
non e che ce l'hai sotto 1altra cartella?

PS:percaso lo hai fatto a mano il file? perche con visualstudio e wematrix dovresti accorgertene...

omeca Profilo | Newbie

Si il file l'ho fatto a mano,non ho visual studio installato.Ti invio il codice completo del file più corto dei due cioè dell'agenda visto che in entrambe mi fà lo stesso errore.I due file sia quello in aspx sia quello in ascx sono nella stessa cartella ma in un unico file e non divisi e più precisamente:

<%@ Page Language="VB" debug="true"%>
<%@ Register TagPrefix="TYASPNET" TagName="Planner" src="Planner.ascx" %>

<script runat="server">
Public sub Page_Load(obj as object, e as eventargs)
if not Page.IsPostBack then
Session.Clear
Calendar1.SelectedDate = DateTime.Now
DayLabel.Text = Calendar1.SelectedDate. _
ToString("dddd, MMMM dd yyyy")
end if
End Sub

Public sub SelectionChanged(obj as object, e as eventargs)
DayLabel.Text = Calendar1.SelectedDate. _
ToString("dddd, MMMM dd yyyy")

if not (Session(Calendar1.Selecteddate.ToString) is _
nothing)
dim l as Label = new Label
l.Text = (Session(Calendar1.Selecteddate.ToString)
DayPanel.Controls.Add(l)
end if
End Sub

Public sub NoteChanged(obj as object, e as eventargs)
if obj.text <> " " then
dim l as Label = new Label
l.text = "<li>" & obj.Text & "<li>"

DayPanel.Controls.Add(l)
(Session(Calendar1.Selecteddate.ToString) = l.text
NoteBox.Text = " "
end if
End Sub
</script>

<html><body>
<form runat="server">
<table width="100%">
<tr>
<table width="50%" valign="top">
<font face="Arial">
<asp:Label id="DayLabel" runat="server">
Height="25px" Widht="100"
BackColor="#ddaa66" ForeColor="white"
Font-Bold="true" borderStyle="groove"
<br>
<asp:Panel id="DayPanel" runat="server"
BackColor="#ffffff" BorderStyle="Groove"
Height="225px" >

<asp:TextBox id="NoteBox" runat="server"
OnTextChanged="NoteChanged"
TextMode="MultiLine"
Rows=5 Width="100%"
AutoPostBack="true"/><p>
</asp:Panel>
</font>
</td>
<td width="50%" rowspan="2" valign="top">
<asp:Calendar ID="Calendar1" runat="server"
OnSelectionChanged="SelectionChanged"
CellPadding="5" CellSpacing="5"
DayHeaderStyle-Font-Bold="true"
DayNameFormat="Short"
Font-Name="arial" Font-Size="12px"
Height="250px"
NextPrevFormat="ShortMonth"
NextPrevStyle-ForeColor="white"
SelectedDayStyle-BackColor="#ffcc66"
SelectedDayStyle-Font-Bold="true"
SelectionMode="DayWeekMonth"
SelectorStyle-BackColor="#99ccff"
SelectorStyle-ForeColor="navy"
SelectorStyle-Font-Size="9px"
ShowTitle="true"
TitleStyle-BackColor="#ddaa66"
TitleStyle-ForeColor="white"
TitleStyle-Font-Bold="true"
TodayDayStyle-Font-Bold="true"/>
</td>
</tr>
</table>
<TYASPNET:planner id="Calc1" runat="server"/>
</form>
</body></html>

ecco lo invio completo così puoi regolarti bene.Grazie ciao












omeca Profilo | Newbie

Ho provato ad installare la cartella riportata qui sotto ma mi sa già che lo è:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
lanci "aspnet_regiis.exe -i

Non sono riuscito ancora a risolvere,ma il mio problema pricipale è il fatto che non trova questo file pur essendo inserito.In quanto al Visual studio,va bene Visual Studio.Net e per quanto riguarda un editor per il C# quale è consigliato?Aspetto qualche risposta.Grazie 1000

freeteo Profilo | Guru

ciao,
scusa il ritado ma mi ero dimenticato di te scusa!!! :-(
magari hai gia risolto....

cmq stavo riguardando e non sono riuscito a riprodurre il tuo errore, ovvero con il tuo codice (opportunamente modificato per me) carica l'oggetto .ascx.....caspita non saprei!

il tuo managment di iis hai registrato l'estensione ascx per eseguirla con le dll del framework,giusto?

ciao

omeca Profilo | Newbie

io l'estensione ascx manualmente non l'ho registrata,ma quando salvo con Dreamweawer me la salva in ascx ma come mai che poi nascono questi problemi?I percorsi li ho controllati e sono esatti.Per regsitare
l'estensione .ascx ed eseguirla con le dll del Framework giusto come debbo fare??Ma non si registra da solo visto che ho iis 5.0???
grazie ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5