2010-07-13 7 views

Antwort

8

ein Postback via JavaScript Dazu Sie folgende Server-Seite aufrufen können für Sie den JavaScript-Code zu erstellen:

string postBackJavascript = Page.GetPostBackEventReference(yourControl); 

Dies wird die __doPostBack JavaScript-Code als String zurück, und Sie werden es auf brauchen Platz Ihre Seite etwas angebracht, oder Sie können mit den __doPostBack direkt auf Ihrem eigenen nennen:

__doPostBack(yourControlId,''); 

Wenn Sie es selbst zu tun und mit Page.GetPostBackEventReference dann nicht sicherstellen, die ClientID für die Kontrolle zu bekommen dass Auslöser für die Validierung, wie:

__doPostBack('<%= yourControl.ClientID %>',''); 

EDIT: Nach der erneuten Lektüre Ihrer Frage, die Sie nicht sagen, dass Sie das Postback basiert auf einer ASP.NET-Steuerelement auslösen wollte, könnte man nicht einmal sein mit irgend ASP.NET-Steuerelemente so dass in diesem Fall, wenn Sie wollen einfach nur ein Vanille-Postbacks tun können Sie tun:

document.forms[0].submit(); 
+0

Nun, da Sie gefragt haben .. Ich versuche, mit einem ASP.Net-Schaltfläche einreichen. im Moment kann ich nicht den Knopf nicht senden. Ich habe den OnClientClick = "validate(); return false;" aber scheint nicht zu funktionieren. Irgendwelche Ideen?? – bill

+0

@Bill, das sollte funktionieren ... versuchen, die 'validate()' zu entfernen und sehen, ob nur 'return false;' funktioniert. Meine Ahnung ist, dass Sie etwas in der 'validate()' tun, die dieses Verhalten verursacht, weil es korrekt aussieht. Vielleicht beginnen Sie eine andere Frage und fügen Sie Ihren 'validate()' Code hinzu. – Kelsey

+0

Sie haben möglicherweise Probleme, das Verhalten der Schaltfläche abzubrechen, wenn die Ereignisse gestapelt werden. So wird der Do-Postback, der ursprünglich dort war, vor deinem Javascript gefeuert. Sie müssen also zuerst das ursprüngliche Ereignis löschen, bevor Sie es aufsetzen. Ansonsten wird der Button immer gesendet. – Simon

3

Wenn Sie zurück schreiben möchten, können Sie __doPostBack(), dass ASP.NET in die <form> setzen. Werfen Sie einen Blick auf diese link. Wenn Sie ein anderes Formular einreichen möchten, rufen Sie einfach .submit() auf dem Formularelement auf.

3

Es sollte so einfach sein wie

document.forms[0].submit(); 

Bieten d, Sie haben nur ein Formular auf der Seite, oder Sie müssen den Formularnamen anstelle des Index 0 verwenden.

Verwandte Themen