2017-05-01 2 views
0

ich diesen Code in meinem Rasierapparat Ansicht gehen in Asp.Net:Asp.net passieren jQuery Variable C# Funktion

@section MyScripts { 
    <script type="text/javascript"> 
    $("button").click(function() { 

     var myVariable = this.id; 

     @{ 
      var Line1 = "Software"; 
      var Gruppe2 = Model.Where(x => x.Line1 == "Software").GroupBy(v => v.Line2).ToList(); 
     } 
    }); 
    </script> 
} 

Wie Sie sehen können, die myVariable erhält die ID über jQuery aus der „Schaltfläche klicken Veranstaltung".

Also sagen wir, dass die Variable Wert "Software" ist.

Wie kann ich diese Variable an den C# -Code innerhalb der jQuery übergeben?

+1

Sie müssen den Unterschied zwischen _client-side_ Code und _server-side_ Code zu verstehen. Sie suchen nach AJAX. – SLaks

+0

Danke für Ihre Antwort. Wie würde das funktionieren? Ich würde die Variable über AJAX an meine Steuerung senden und eine neue Sicht zurückgeben? Das Problem ist, ich möchte nicht die gesamte Ansicht neu laden ... @SLaks – Anokrize

+1

Sie müssen AJAX verwenden und erhalten einen JSON-Wert zurück. – SLaks

Antwort

1

einen Ajax-Aufruf zu Ihrem Click-Ereignis hinzufügen, die eine POST tut/GET zurück zu Ihrer MVC Aktion, so etwas wie dieses:

   $.ajax({ 
        async: false, 
        cache: false, 
        url: '@Url.Action("MyAction", "MyController")', 
        type: 'GET', 
        dataType: 'json', 
        data: myJsonString } 
); 

Ihre Aktion würde nur zurückkehren json (oder eine Teilansicht, auf die je Rückgabetyp)

[HttpGet] 
    public JsonResult MyAction() 
    { 

     string result = [some model data] 

     var json = Json(result, JsonRequestBehavior.AllowGet); 
     return json; 

    } 
+0

Aber dann muss ich meine ganze Seite neu laden oder? – Anokrize

+0

Ah okay, ich verstehe es jetzt. Ich werde es morgen versuchen und Feedback geben, wenn es funktioniert !! Vielen Dank – Anokrize

+0

Nein, normalerweise möchten Sie eine JSON-Zeichenfolge zurückgeben und dann jQuery verwenden, um Ihre UI zu ändern. Übergeben Sie beispielsweise eine Status-ID, rufen Sie die Statusbeschreibung ab und fügen Sie diese einer Dropdown-Clientseite hinzu. –

Verwandte Themen