Använder idag popup fönster för visualisering av gränssnitt för att lägga /editera noder i en trädstruktur. Marcus, jo det stämmer via javascript typ : window.opener.document.forms[0].submit(); Marcus, Du kan ju annars slänga till ett postback script genererat av ASP .Net motorn som du kan trigga och sedan hantera. Marcus, Ok, fast då jag använder mig av en popup, Marcus, Jo det stämmer men då jag måste skicka in ett controll object käns det inte som om det hjälper. Så här löste jag det istället.... Så här löste jag det istället.... Så här löste jag det istället....Har lite funderingar ang använding av popup fönster.
Problemet jag har uppstår då jag lagt till eller ändrat en node i trädet.
Då måste jag ju "ladda" om föräldern alltså den sidan som visar trädet för att de nya ändringarna ska visas.
Detta gör jag via javascript typ: window.opener.location.href = 'default.aspx'; vilket resulterar i att jag tappar de tillstånd min andra kontroller har.
Hur löser ni liknande problem, eller använder ni inte popup fönster för liknande scenarion.Sv: Har lite funderingar ang använding av popup fönster.
Du borde ju kunna göra en submit på den istället för att ladda om den?
mvh JohanSv:Har lite funderingar ang använding av popup fönster.
eller hur menar du?
Men i min codebehind, hur vet jag vad som submittas och hur fångar jag upp det.Sv: Har lite funderingar ang använding av popup fönster.
GetPostBackEventReference kan du exempelvis nyttja.
Mvh JohanSv: Har lite funderingar ang använding av popup fönster.
Skall vi se om jag kan göra detta.
Här är ett exempel på en kodsnutt som kommer skapa ett _postBack javascript och kommer att köra en eventmetod på Me som är kontrollen man vill trigga.
writer.Write(("Increase Number"))
"Inc" är argumentet du vill skicka med.
Me kan ex vara en egen usercontrol så som ditt träd.
Låt säga att du vill utföra ett visst event på din kontrol, för att alltd etta skall fungera måste du implementera IPostBackEventHandler och kägga till den eventmetod du vill trigga:
VB .Net
<code>
Sub RaisePostBackEvent(eventArgument As String) Implements IPostBackEventHandler.RaisePostBackEvent
</code>
C#
<code>
public void RaisePostBackEvent(string eventArgument)
</code>
När response.write skriver ut scriptet kommer den automatiskt att köra din RaisePostBackEvent metod i den kontrollen du angav i din GetPostBackEventReference samt få det argument du oxå angav.
Mvh JohanSv:Har lite funderingar ang använding av popup fönster.
hur kommer jag då åt den control som ska hantera postback.
Mitt formulär (popupen) känner ju inte till min träd userkontroll.Sv: Har lite funderingar ang använding av popup fönster.
Det har du rätt i. Dock kommer denna PAge... postback sak att lägga till ett script på din sida som du kan anropa från popupen va?
Mvh JohanSv:Har lite funderingar ang använding av popup fönster.
Sv: Har lite funderingar ang använding av popup fönster.
Från min popup, i ett server side click event lägger jag till
window.opener.__doPostBack('AddNode',NodeID);
Detta gör en postback på sidan som öppnade popupen, och jag kan i page_load köra följande för att
reagerar på just denna postningen
if( Request.Form["__EVENTTARGET"] == "AddNode" )
{
....
}Sv: Har lite funderingar ang använding av popup fönster.
Från min popup, i ett server side click event lägger jag till
window.opener.__doPostBack('AddNode',NodeID);
Detta gör en postback på sidan som öppnade popupen, och jag kan i page_load köra följande för att
reagerar på just denna postningen
if( Request.Form["__EVENTTARGET"] == "AddNode" )
{
....
}Sv: Har lite funderingar ang använding av popup fönster.
Från min popup, i ett server side click event lägger jag till
window.opener.__doPostBack('AddNode',NodeID);
Detta gör en postback på sidan som öppnade popupen, och jag kan i page_load köra följande för att
reagerar på just denna postningen
if( Request.Form["__EVENTTARGET"] == "AddNode" )
{
....
}
Ursäkta dubbelpostningen!!!