Ajax und

18/11/2007 - 12:15 von Martin Plotz | Report spam
Hallo zusammen,
ich lade per XmlHttpRequest Seitenteile dynamisch nach, wobei diese
Seitenteile einige Controls enthalten, so dass ich dafür eine eigene
.aspx-Seite angelegt habe, die aber kein <html>,<body> etc. enthàlt. Das
funktioniert ganz gut - allerdings habe ich nun Probleme festgestellt,
weil nach dem Nachladen zwei Formulare namens aspnet auf der Seite
vorhanden sind - meine Login/Logout-Controls funktionieren dann nicht
mehr richtig.

Daher habe ich nun versucht, auch das <form runat="server"> aus den
dynamisch nachgeladenen Seite zu entfernen, was aber zur Folge hat, dass
ich keine Controls wie die asp:Textbox mehr nutzen kann. Kann ich in
dieser nachgeladenen Seite irgendwas tun, damit das doch noch funktioniert?

(ASP.Net Ajax ist allerdings keine Option)

Danke für Tipps,
Martin
 

Lesen sie die antworten

#1 Albert Weinert
18/11/2007 - 13:22 | Warnen spam
"Martin Plotz" schrieb im Newsbeitrag
news:fhp6t0$4h0$00$

ich lade per XmlHttpRequest Seitenteile dynamisch nach, wobei diese
Seitenteile einige Controls enthalten, so dass ich dafür eine eigene
.aspx-Seite angelegt habe, die aber kein <html>,<body> etc. enthàlt. Das


[]
Daher habe ich nun versucht, auch das <form runat="server"> aus den
dynamisch nachgeladenen Seite zu entfernen, was aber zur Folge hat, dass
ich keine Controls wie die asp:Textbox mehr nutzen kann. Kann ich in
dieser nachgeladenen Seite irgendwas tun, damit das doch noch
funktioniert?

(ASP.Net Ajax ist allerdings keine Option)



Nimm UserControls für die Seitenteile, nimm einen IHttpHandler (.ashx) zum
aufruf und
Nimm einen Handler und rendere das Control selber.

public string RenderUserControl(string path)
{
Page page = new Page();
UserControl control = (UserControl) page.LoadControl(path);
// Hier noch Kram einbauen um das Control bei Bedarf mit Daten zufüllen
page.Controls.Add(control);
StringWriter html = new StringWriter();
HttpContext.Current.Service.Execute(page, html, false);
return html.ToString();
}

Dann hast Du nur das was das UserControl beinhaltet.

Freundliche Grüße

Albert

Ähnliche fragen