2012-04-02 8 views
2

ich möchte bascially den Wert einer Variablen aus der Code-Behind in einer Javascript-Funktion für die automatische Vervollständigung zu verwenden, erhalten .... hier ist die Funktion:eine Variable JavaScript-Funktion von Code-Behind-Passing

 $(document).ready(function() { 
$('.PONumbers').autocomplete(
    { 
     source: function(request, response) { 
      $.ajax({       
       url: "../GenericHandlers/PONumber.ashx", 
       dataType: "json", 
       data: { 
        q: request.term, 
        userid:'622' 
       },       
       success: function(data) { 
        response(data); 
       } 
      }); 
     }, 
     minLength: 3 
    }) 

    }).unbind("blur.autocomplete"); 

$("body:not(.ui-autocomplete)").live('click', function(){ 
     $('.PONumbers').autocomplete("close"); 
    });  

Wo i habe den Wert '622' ist wo ich den Wert aus dem Codebehind wollen .... irgendwelche Vorschläge?

+2

welcher Sprache Sie Ihre Code-Behind verwenden? –

+0

c-sharp sldjlskdflsj – Eoiner

+0

Wenn dieser Wert für die Anfrage benötigt wird, sollten Sie diesen Wert auf der Clientseite verfügbar machen (auch wenn Sie ihn in ein verstecktes Feld oder etwas einfügen müssen), so dass Sie den Wert problemlos als übergeben können Daten anfordern – MilkyWayJoe

Antwort

0

versuchen, eine Eigenschaft in dem Belichtungs Code-behind, und Sie sollten den Wert wie folgt zugreifen können:

userid:'<%= this.UserID %>' 

Und in der Code-Behind:

public int UserID 
{ 
    get 
    { 
     return (int)Session["UserID"]; 
    } 
} 

Verwendung Seite Methoden

Sie könnten wahrscheinlich PageMethods auch dafür verwenden:

[ScriptMethod, WebMethod] 
public static string GetLabelText() 
{ 
    return "Hello"; 
} 

Und auf dem Client:

<script type="text/javascript"> 
    insertLabelData = function() { 
     PageMethods.GetLabelText(onSuccess, onFailure); 
    } 
    onSuccess = function(result) { 
     var lbl = document.getElementById('lbl'); 
     lbl.innerHTML = result; //your code-behind value 
    } 
    onFailure = function(error) { 
     alert(error); 
    } 
</script> 

Hier ist der Artikel, den ich aus den oben stehenden Code nahm:
http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx

Und hier ist ein weiteres Tutorial auf PageMethods:
http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX

+0

ok werde versuchen das danke – Eoiner

+0

du meinst nur deklarieren nd initiitalisieren die Variable, ja? – Eoiner

+0

Erstellen Sie einfach eine Eigenschaft im Code-Behind, die den von Ihnen benötigten Wert zurückgibt. In diesem Fall wäre dies die 'UserID'. –

0

Fügen Sie einfach die Benutzer-ID als benutzerdefinierte HTML-Eigenschaften in Ihr ui-Autocomplete-Tag ein . Dann lies daraus.

<input type="text" class="ui-autocomplete" userid="<%=userID%>"> 

Dann wird Ihr Javascript Sie können diese attr erhalten:

$(".ui-autocomplete").attr('userid') // will return the id printed in your input attr 
+0

nicht sicher, was du hier meinst, nicht wirklich das vertraut mit Javascript – Eoiner

+0

Ich habe ein Beispiel für Sie hinzugefügt. Dies ist der einfachste Weg, da Sie Ihre JS-Datei nicht dynamisch ändern müssen. –

+0

Ich habe es tatsächlich funktioniert, Prost sowieso .. – Eoiner

Verwandte Themen