2016-08-18 1 views
1

Wie ich Rasierer kombinieren und Java Scriptkombinieren Rasierer und Javascript

Ich möchte, dies zu tun:

   @{Session["type"] = $(this).attr("id");} 

ich das tue, aber ich habe einen Fehler.

Ich habe es versucht, aber es funktioniert nicht für mich.

using javascript variable in MVC3 Razor view engine

Und hier ist mein Code:

   $(document).on("click", ".btn-group", function() { 
       var t = $(this).attr("id"); 

       var text = "@{Session["type"] = "JSVar";}"; 
       text = text.replace("JSVar", t); 
      }); 

Kann jemand geben Sie mir einen Vorschlag?

+2

'session' ist Server-Seite. Javascript ist Client-Seite. Wenn Sie den Wert der Sitzungseigenschaft festlegen möchten, müssen Sie die Daten an den Server senden. –

+0

Ich weiß, dass, mit Abfrage-String, aber ich kann das tun, weil meine Aktion kann keine neuen Parameter (aus irgendeinem Grund) – user3726322

+0

gibt es eine Möglichkeit, Daten an den Server ohne Post-Daten (Formular oder Aktion Link) – user3726322

Antwort

0

Sie können nicht. In diesem Fall müssen Sie dies im Controller tun. Auch keine Änderung Session-Werte in der Ansicht ist eine gute Praxis. Probieren Sie etwas wie folgt aus:

public ActionResult ChangeType(int type) { 
    Session["type"] = type; 
} 

In Ihrem javascript:

$(document).on("click", ".btn-group", function() { 
    $.ajax({ 
     url: "@Url.Action("ChangeType")", 
     data: { type: $(this).attr("id") }, 
    }); 
}); 
Verwandte Themen