Ich entwickle ein WebPart (es wird in einer SharePoint-Umgebung verwendet werden, obwohl es nicht das Objektmodell verwendet), die ich AJAX-Funktionalität in. Offenbar aufgrund der Art der Umgebung, Hinzufügen des Skript-Manager direkt zu der Seite ist keine Option und muss daher programmgesteuert hinzugefügt werden. Ich habe versucht, das ScriptManager-Steuerelement der Seite in meinem Webpart-Code hinzuzufügen.SkriptManager zu Seite programmgesteuert hinzufügen?
protected override void CreateChildControls()
{
if (ScriptManager.GetCurrent(Page) == null)
{
ScriptManager sMgr = new ScriptManager();
// Ensure the ScriptManager is the first control.
Page.Form.Controls.AddAt(0, sMgr);
}
}
Wenn jedoch dieser Code ausgeführt wird, erhalte ich die folgende Fehlermeldung:
"The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases."
Gibt es einen anderen Weg, um die Script auf die Seite von einem WebPart hinzuzufügen, oder werde ich um den ScriptManager zu jeder Seite (oder Masterseite) hinzuzufügen, die das WebPart verwenden wird?
Ich frage mich, ob dies mit mehr als eine Script auf der Seite führen kann ... – vitule
Nein, Wenn Sie bemerken, bin Überprüfung ich, um sicherzustellen, dass es kein Script auf der Seite eines vor der Zugabe. –
Ist das OnInit eine Methode der Kontrolle? – Shuo