Asp.net script

lunedì 03 aprile 2006 - 09.43

car_79 Profilo | Newbie

Salve a tutti!

ho creato una master page, ho creato una pagina di nome default e l'ho associata allla master page ora ho bisogno di fare uno script nella pagina di default nell'evento onload del body ma il tag body non esiste. Sapete come fare?

Brainkiller Profilo | Guru

>Salve a tutti!
>ho creato una master page, ho creato una pagina di nome default
>e l'ho associata allla master page ora ho bisogno di fare uno
>script nella pagina di default nell'evento onload del body ma
>il tag body non esiste. Sapete come fare?

Di solito si mette nella Master Page dove è presente il tag <body>.
E' normale che poi in tutte le pagine che derivano dalla Master Page ci debba essere un riferimento al codice javascript se no troverai in basso a sinistra un errore di Internet Explorer.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

car_79 Profilo | Newbie

e se vorrei per ogni pagina associata alla master page uno script diverso? come posso fare?

Brainkiller Profilo | Guru

>e se vorrei per ogni pagina associata alla master page uno script
>diverso? come posso fare?

Lo fai via codice server side.
Crei un <asp:Literal e gli scrivi dentro il tag per referenziare un file javascript diverso esempio:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Oppure usi il comando:

Page.RegisterStartupScript()

che ti permette di iniettare un pezzo di Javsacript nella pagina appena renderizzata.

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

car_79 Profilo | Newbie

Questo e quello che vorrei fare vedi se puoi aiutarmi.

Partial Class _Default
Inherits System.Web.UI.Page

Public ServerMessage As String = ""

Protected Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
Select Case e.CommandName
Dim ctl As TextBox = e.Item.FindControl("TextBox1")
If (Not ctl Is Nothing) Then
If IsNumeric(ctl.Text) Then
If CInt(ctl.Text) > 0 Then
'esegui funzione
If Disp = True Then
ServerMessage = "Messaggio1"
Else
ServerMessage = "Messaggio2"
End If
Else
ServerMessage = "Messaggio3"
End If
Else
ServerMessage = "Messaggio4"
End If
End If
End Select
End Sub
End Class


<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Default" %>
</head>
<script language =javascript >
function ShowAlert() {
var Message = "<%=ServerMessage%>";

if(Message.length != 0) {
window.alert(Message);
}
}
</script>
</head>
<body bottommargin="0" onload = "ShowAlert()"</body>

Brainkiller Profilo | Guru

>Questo e quello che vorrei fare vedi se puoi aiutarmi.

No no,
non è sicuramente il metodo per farlo.

Utilizza l'istruzione che ti ho indicato.

Se tu nel codice server side nei vari blocchi dell IF invece di assegnare la variabile del messaggio dell'errore fai una cosa di questo tipo:

string script="<script language=\"Javascript\">function ShowAlert()"
RegisterStartupScript("script_startup", script);

Praticamente all'interno della pagina ti viene renderizzato il contenuto della stringa script. Io per brevità ti ho messo solo un pezzettino, tu naturalmente puoi completarlo con tutto il contenuto della funziona ShowAlert(). All'interno dell'IF varierà solo ed unicamente il messaggio d'errore.

Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

car_79 Profilo | Newbie

Grazie tantissimo David..
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5