webForumDet fria alternativet

RegisterStartupScript verkar inte fungera?

3 svar · 411 visningar · startad av CokeLight

CokeLightMedlem sedan juni 2000506 inlägg
#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..?

CokeLightMedlem sedan juni 2000506 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å.. :)

emissionMedlem sedan dec. 19996 095 inlägg
#3

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

CokeLightMedlem sedan juni 2000506 inlägg
#4

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

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb