RegisterStartupScript verkar inte fungera?

.NET

3 svar · 436 visningar · startad av CokeLight

Medlem sedan juni 2000504 inlägg
Trådstart#1

Hej, jag har en GridView med några LinkButtons i EditItemTemplate där jag har OnClick="ValdiateCustomControl". Metoden ser ut så här:

protected void ValdiateCustomControl(object sender, EventArgs e)
{
    string myScript = "alert('hello');";

    if (!Page.ClientScript.IsStartupScriptRegistered("error"))
        Page.ClientScript.RegisterStartupScript(this.GetType(), "error", myScript, true);
}

men alert rutan dyker aldrig upp! När jag debuggar så ser jag att koden borde köras men det händer inget.. Om jag kör OnClientClick kan jag t.ex. dirket i aspx sidan köra en alert men då kan jag ju naturligtvis inte köra Page.IsValid o annat serverside etc. (som jag egentligen vill). De kodexempel jag sett på Google ser ut ungefär så här fast jag vet ju inte om de just körde en LinkButton i en GridView.. =) Finns det nåt jag kan tänka på eller är det nåt syntaxfel..?

Medlem sedan juni 2000504 inlägg
#2

kom på det..

provade att lägga en vanlig <asp:button..../> utanför GridView, men det gick fortfarande inte.. kom på att GridView låg innanför en <asp:UpdatePanel../> och när jag lade min knapp utanför denna så fungerade det på en gång.. gissar på att RegisterStartupScript på nåt sätt krockar med Ajax mekanismen.. fast hur man får dessa att samexistera orkar jag inte ta reda på.. :)

Medlem sedan dec. 19996 721 inlägg
#3

Om du kör AJAX bör du använda ScriptManagerns RegisterStartupScript-metod istället.

Medlem sedan juni 2000504 inlägg
#4

Hej Emission.. tack, det fungerade jättebra med ScripManager, så nu kör jag med det! :)

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)