webForumDet fria alternativet

RegisterStartupScript verkar inte fungera?

.NET

3 svar · 413 visningar · startad av CokeLight

Medlem sedan juni 2000504 inlägg
Frågan#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! :)

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)