Laden ascx per jQuery
Gibt es eine Möglichkeit zum laden ascx-Datei von jQuery?
UPDATE:
Dank @Emmett und @Yads. Ich bin mit einem Ereignishandler mit dem folgenden jQuery-ajax-code:
jQuery.ajax({
type: "POST", //GET
url: "Foo.ashx",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response)
{
jQuery('#controlload').append(response.d); //or response
},
error: function ()
{
jQuery('#controlload').append('error');
}
});
aber ich bekomme eine Fehlermeldung. Ist mein code falsch?
Anderen Update :
Ich bin mit
error: function (xhr, ajaxOptions, thrownError)
{
jQuery('#controlload').append(thrownError);
}
und das ist, was ich bekomme :
Ungültiges JSON:
Test =>(dieser test ist dem Aufkleber auf der Innenseite meiner ascx)
und meine ascx-Datei nach dem Fehler!!!
Anderen Update :
meine ascx-Datei ist so etwas wie dieses:
<asp:DropDownList ID="ddl" runat="server" AutoPostBack="true">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label1" runat="server">Test</asp:Label>
aber beim Aufruf der ajax-ich bekomme diese Fehlermeldung im asp -: : (
Control 'ctl00_ddl' des Typs 'DropDownList' gesetzt werden müssen, innerhalb eines form-Tags mit runat=server.
Dank @Yads. aber seine Lösung nur mit html-Tags.
- stackoverflow.com/questions/1212639/...
- ist es unmöglich? gibt es eine Möglichkeit, konvertieren ascx-Datei aspx? oder besser Weg?
- die error-Funktion kann ein request-Objekt, prüft den Antrag.responseText, um herauszufinden, was der Fehler ist.
- Update Frage
- Ihr Datentyp in Ihrem Antrag muss 'html' nicht 'json', btw, müssen Sie das @ - tag, wenn Sie möchten jemanden Benachrichtigen
- Ich bin neu bei jquery. können Sie aktualisieren Sie Ihre Antwort mit jquery? thnaks.... 😛
- Was auch immer Sie versuchen zu tun, warum nicht mit einem UpdatePanel und lassen asp.net tun Sie es für Sie? Die beschriebenen Lösungen geben Ihnen einen Weg, um wickeln Sie die Ausgabe von ein usercontrol und Rendern der html -, aber es wird kein Kontext haben, so könnte es genauso gut sein, HTML.
- Durch die Art und Weise, siehe meine ähnliche Frage: stackoverflow.com/questions/4045509/... ... die 2. Antwort hat ein weiterer interessanter Ansatz, wenn Sie wirklich brauchen, so etwas zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gebäude aus Emmett ' s Lösung
Verwenden Sie die folgende jquery-Anfrage
*.ascx-Dateien werden auf dem server gerendert (in ein *.aspx-Seite), nicht der client-Seite (wo JavaScript ausgeführt wird).
Eine option sein könnte, um zu erstellen Sie eine leere *.aspx, dem Benutzer die Kontrolle über die *.aspx-Seite, und dann bekommen, dass die Seite via jQuery und dump das Ergebnis auf der Seite.
Bearbeiten
Basierend auf Ihren Kommentar, ich habe einen anderen Vorschlag:
Wenn Sie die Entwicklung ein CMS-Stil-Anwendung, erstellen Sie Ihre *.ascx-controls so, dass Sie kompatibel mit den ASP.NET AJAX-Toolkit. Das können die Benutzer Inhalte hinzufügen, um die Seite, ohne eine vollständige Aktualisierung.
Wenn Sie wirklich wollen, um Dinge zu machen, schön für die Nutzer, sollten Sie sich Web-Teile und ASP.NET AJAX als Web-Teile waren wirklich so ausgelegt, dass Benutzer anpassen könnte den Inhalt auf Ihren Seiten.