Finestra indipendente con passaggio valore

mercoledì 01 settembre 2010 - 08.49
Tag Elenco Tags  .NET 2.0  |  Visual Studio 2008  |  SQL Server 2005

basicdany Profilo | Expert

ciao, a tutti, devo visualizzare al
click di un pulsante
una pagina asp indipendente,da utilizzare come anteprima stampa, e
inoltre devo passare a tale pagina un valore numerico, in modo da caricare dei valori nel load della pagina.

grazie puo indicarmi la soluzione piu semplice

alexmed Profilo | Guru

Ciao
Per fare ciò hai bisogno di:
1. Nella pagina di origine di un link che richiami la pagina e di un parametro da passargli.

<asp:Button ID="Button1" runat="server" Text="Anteprima"
PostBackUrl='~/AnteprimaDiStampa.aspx?ImmobileID=<%# Eval("ImmobileID") %>' />

<a href='~/AnteprimaDiStampa.aspx?ImmobileID=<%# Eval("ImmobileID") %>'></a>

2. Nella pagina di destinazione, se i dati vengono prelevati dal database, di impostare quale parametro deve essere letto all'interno dell'oggetto SqlDataSource:

<SelectParameters>
<asp:QueryStringParameter Name="ImmobileID" QueryStringField="ImmobileID" Type="Int32" />
</SelectParameters>

Prova e fammi sapere
Ciao

alexmed

alexmed Profilo | Guru

Dimenticavo:
Se vuoi che si apra un'altra pagina allora devi specificare il Target e quindi al posto del Button puoi ulilizzare un HyperLink:

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='~/AnteprimaDiStampa.aspx?ID=<%# Eval("ID") %>' Target="_blank">Anteprima di stampa</asp:HyperLink>

oppure con un link:

<a href='~/AnteprimaDiStampa.aspx?ImmobileID=<%# Eval("ImmobileID") %>' Target="_blank"></a>

Ciao

alexmed

basicdany Profilo | Expert

ciao, ho gia provato come mi hai postato prima di scrivere al forum, ma la finestra non indipendente, l'apre includendola nella master page stessa. comunque meglio un button.

ciao grazie attendo risposta

alexmed Profilo | Guru

Non ho capito bene.
Vuoi aprire una pagina aspx che non includa la MasterPage?

alexmed

basicdany Profilo | Expert

si, voglio fare questo in modo da realizzare un'anteprima della stampa.

grazie

alexmed Profilo | Guru

Allora vai sul menù "Sito Web" di VWD 2008 ---> Aggiungi nuovo elemento ---> Web Form (facendo attenzione a deselezionare "Seleziona pagina master")
In questo modo ti crea una pagina aspx completamente indipendente che dovrebbe presentarsi così:

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>

</div>
</form>
</body>
</html>


Ciao

alexmed

basicdany Profilo | Expert

ciao, ho riprovato, e noto che carica un altra pagina, senza master page, pero mi chiude le altre pagine del sito, mi servirebbe invece che carichi un altra pagina asp di dimensioni piccole magari 800 * 600 in altro broswer senza i pulsanti che contiene l'explorer, praticamente la finestra che si visualizza nei siti dove c'e il tasto stampa,infatti in questo modo inserisco in un div tutti i controlli da stampare e invio in stampa...

grazie

alexmed Profilo | Guru

Questo è il codice per aprire la pagina che poi avrà il tasto "Stampa"


<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>

<script language="javascript" type="text/javascript">

var win = null;
function NewWindow(mypage, myname, w, h, scroll, pos) {
if (pos == "random") { LeftPosition = (screen.width) ? Math.floor(Math.random() * (screen.width - w)) : 100; TopPosition = (screen.height) ? Math.floor(Math.random() * ((screen.height - h) - 75)) : 100; }
if (pos == "center") { LeftPosition = (screen.width) ? (screen.width - w) / 2 : 100; TopPosition = (screen.height) ? (screen.height - h) / 2 : 100; }
else if ((pos != "center" && pos != "random") || pos == null) { LeftPosition = 0; TopPosition = 20 }
settings = 'width=' + w + ',height=' + h + ',top=' + TopPosition + ',left=' + LeftPosition + ',scrollbars=' + scroll + ',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win = window.open(mypage, myname, settings);
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<a href="anteprima.aspx" onclick="NewWindow(this.href,'test','710','520','yes','center');return false"
onfocus="this.blur()">Anteprima</a>
</div>
</form>
</body>
</html>

Se vuoi elaborare il codice guarda qui:

http://www.dynamicdrive.com/dynamicindex8/popwin.htm

Ciao

alexmed

basicdany Profilo | Expert

ok funziona, invece di un link per aviare pagina puo' essere un pulsante.

grazie

alexmed Profilo | Guru

In teoria no perchè il Button non espone href=""
Ma noi glielo mettiamo e sembra funzionare.

<asp:Button ID="Button2" runat="server" Text="Anteprima" href="anteprima.aspx"
OnClientClick="NewWindow(this.href,'test','710','520','yes','center');return false" />

Ciao

alexmed
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