2009-07-30 5 views
0

Ich versuche, eine Verbindung zu schaffen, die Onclick ein Session-Variable wie dieseJavaScript-Funktion zusammen mit asp.net


<a href="/Index" onclick="<% HttpContext.Current.Session["location"] = location;%>" > 
    <%=location%> 
</a>

jedoch bei Erzeugen jeden Anker während der Bearbeitung die Seite die Sitzung Änderungen an seinem eigenen ändert Element (mit diesem Onclick-Attribut). So würde Ich mag eine JavaScript-Funktion erstellen wie


<script type="text/javascript" > 
    function session(location) { 
     HttpContext.Current.Session["location"] = location; 
    } 
</script> 

Unfortunatelly, ich weiß nicht genug, so dass diese Arbeit scheint nicht .. Irgendwelche Ideen?

+0

Nur um klar zu sein, möchten Sie eine ASP.NET-Variable ändern, wenn jemand auf einen Link auf der Seite klickt? – deceze

+0

Ja, genau das ist es. – Trimack

Antwort

2

Session ist ein ASP.NET-Serverobjekt, auf das vom Client nicht direkt über JavaScript zugegriffen werden kann (Sitzung kann als Cookie auf dem Client gespeichert werden, aber selbst dann ist sie nicht für den Zugriff vorgesehen) von der Client-Seite direkt). Sie könnten handhaben, was Sie in einer Reihe von Möglichkeiten tun wollen -

  1. Shop Wert in einem versteckten Eingang, wenn ein Link angeklickt wird und dann dieser Wert serverseitigen und Speicher in Session lesen.

  2. Speichern in Sitzung beim Postback in einem Click-Ereignishandler für den Anker. Sie können die asp:HtmlAnchor control dafür verwenden wollen, und einen Ereignishandler für das Ereignis OnServerClick

+0

Es tut mir leid, aber könnten Sie bitte genauer (vielleicht mit einem kleinen Beispiel) sein? Ich bin noch ziemlich neu in der Webentwicklung und nach einer weiteren Stunde versuche ich immer noch wo ich war. Ich benutze das asp.net mvc-Framework, also wäre ich eher an der zweiten Option interessiert, da ich keine zusätzliche Aktion erstellen möchte, die HttpVerbs.Post für jede Aktion akzeptiert. Oder vielleicht bin ich hier völlig verloren. – Trimack

+0

Ich bin nicht sehr vertraut mit, wie das ASP.NET MVC-Framework funktioniert und meine Antwort wurde auf ASP.NET-Webforms basiert. Ich bin mehr als glücklich darüber, dass jemand den Beitrag bearbeitet, um ein MVC-Beispiel einzubinden. In der Zwischenzeit werde ich sehen, ob ich eine Ressource finden kann, mit der ich meine Antwort aktualisieren kann. –

Verwandte Themen