26 messaggi dal 06 giugno 2007
spiego velocemente: ho un bottone all'interno di una formview con i suoi soliti bottoni; nell'UpdateButton_Click devo richiamare una funzione javascript...come faccio???
x la cronaca sono riuscito a sistemare il mio modalbox e funziona perfettamente.. voglio solo che si chiuda con l'onclick dell'UpdateButton..!

Ringrazio in anticipo se qualcuno mi aiuterà!



Riccardo
puoi farlo semplicemente scrivendo il javascript nella proprietà OnClientClick.

ciao marco
Modificato da nostromo il 19 giugno 2007 18.00 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
26 messaggi dal 06 giugno 2007
posto il pezzo di codice in questione... sperando che non sia scritto troppo da cani!

<asp:Button ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
Text="Update" onclick="UpdateButton_Click" OnClientClick="<%<script language=javascript>Event.stopObserving(Modalbox.MBclose, 'click', Modalbox.hide )</script>%>">

e ora il c#....
//Button ciccio = (Button)FormView1.FindControl("UpdateButton");
//ciccio.OnClientClick
//Response.Write("<JAVASCRIPT> Event.stopObserving(Modalbox.MBclose, 'click', Modalbox.hide )</JAVASCRIPT>");

è commentato perchè logicamete o uso uno o uso l'altro.... !!
ma non funziona!!
dove ho sbagliato???

forse prima mi sono espresso male:

è sufficente:

OnClientClick="Event.stopObserving(Modalbox.MBclose, 'click', Modalbox.hide )"

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
26 messaggi dal 06 giugno 2007
CE L'HO FATTA... è stata veramente dura....
cerco di spiegare così se qualcuno si troverà mai nella mia situazione non sbatterà troppo la testa in giro!!

Dunque... il sito è strutturato così
- una pagina di default con una grid view
- una pagina2 che contiene la form per le modifiche che viene mostrata dal
ModalBox tramite
- una pagina3 con un iframe vuota che va a guardare pagina2 (il modalbox di
suo non può contenere operzioni di submit)
- una pagila di js con
function updateView()
{
    Modalbox.hide();
    __doPostBack('ModalBox', '');



in tutte le pagine ho dovuto inserire le seguenti cose nello script
script type="text/javascript" src="Js/lib/prototype.js"></script>

    <script type="text/javascript" src="Js/lib/scriptaculous.js"></script>

    <script type="text/javascript" src="Js/modalbox/modalbox.js"></script>

    <script type="text/javascript" src="Js/JScript.js">



e in default come bottone nella grid il seguente
<ItemTemplate>
                <a href="pagina3.aspx?form_Id=<%# Eval("Form_Id") %>" title="Simple form" onclick="Modalbox.show(this.title, this.href, {width: 600});Event.observe(MB_close, 'click', updateView);return false;">Seleziona</a>
                </ItemTemplate>

dove ho dovuto passare la mia chiave primaria (?form_Id=<%# Eval("Form_Id"))

e nella cs

protected void Page_Load(object sender, EventArgs e)
    {
        string post = ClientScript.GetPostBackClientHyperlink(this, "");
        if (IsPostBack)
        {
            string controlName = Request.Params.Get("__EVENTTARGET");
            if (controlName.Equals("ModalBox"))
                GridView1.DataBind();

nella pagina 2 ho fatto la magia...
rotected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
    {
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), 
"closeModalbox", @"parent.updateView();", true);
}
sono riuscito a scoprire che la parent del modalbox è default... cosa che non mi aspettavo assolutamente! in questo modo con Page.ClientScript.RegisterClientScriptBlock ho inettato un pezzo di javascript all'interno del cs...

mentre nella pagina 3 ho dovuto semplicemente mettere:

 <iframe height="250px" width="500px" src="Default2.aspx?form_Id=<%= Request.QueryString["Form_Id"] %>"
            frameborder="0"></iframe>


et voilà...
se non sono stato chiaro ditemelo.. ci sono stato su qualche ora e ho la testa un pò fusa!!!

che idea però...! io non mi aspettavo che sarebbe stata così dura... sono solo alle Prime Armi!!

ciao ciao
Riky

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.