2017-04-04 4 views
0

ich den Wert der Checkbox auf einen AktionslinkKästchen zum Ankreuzen zu Action

@Html.CheckBox("YesIwant", false) 

Ich habe versucht, diese Aktion Link weitergeben wollen:

@Html.ActionLink("Send", "ResponseUser", "ResponseCont", new { YesIwantValue= $('#YesIwant').val }) 

aber keine Chance

Jede Hilfe?

+0

jquery läuft auf dem Client und asp.net Mvc läuft auf dem Server. und es ist 'val()' nicht 'val' – Ramanlfc

Antwort

0

Der Wert des Kontrollkästchens wird festgelegt (geklickt) und JavaScript wird clientseitig ausgeführt, während der Aktionslink serverseitig gerendert wird. Mit anderen Worten, Sie können dies nicht tun, weil die zwei Dinge zu völlig unterschiedlichen Zeitpunkten stattfinden.

Sie würden das Änderungsereignis der Checkbox über JavaScript, clientseitige zu handhaben, und die href des Links entsprechend ändern:

$('#YesIwant').on('change', function() { 
    $('#MyLink').attr('href', newUrl); 
}); 

Wo newUrl die URL des Links würde geändert, um die neuen zu reflektieren Wert von YesIwant. Es wäre aber an dir, diese Saite zu komponieren. Rasiermesser hilft hier nicht.

Es ist jedoch wahrscheinlicher, dass dies besser gehandhabt wird, indem ein tatsächliches Formular verwendet und der Wert des Kontrollkästchens angegeben wird, anstatt zu versuchen, einen Link zu ändern.

0

Sie können dies versuchen:

$('#YesIwant').on('change', function() { 
    location.href = '@Url.Action("ResponseUser", "ResponseCont")?YesIwantValue=' + $('#YesIwant').val(); 
}); 
Verwandte Themen