Ich versuche für den folgenden Code eine Action-Methode in der Steuerung ausgelöst.JavaScript nicht feuern Methode in der Steuerung
<script>
function updateSalary() {
var salary = $('#basicSalary').val();
var figure = $('#allowance').val();
$.ajax({
url: '@Url.Action("updateSalary","salary")',
type: "GET",
dataType: "JSON",
data: { salary: basicsalary, figure: allowance },
success: function (add) {
$('#basicSalary').val(salary)
}
})
}
</script>
Razor:
<td>
@Html.DropDownListFor(model => model.allowance, Model.allowances, "--please choose an option--", new { @class = "form-control", @onchange = "updateSalary()" })
</td>
Controller:
public ActionResult updateSalary (int salary, string figure)
{
if (figure == "Transport")
{
try
{
allowance trans = hc.allowances.First(x => x.name == figure);
if (trans != null)
salary = +Convert.ToInt32(trans.amount);
else
throw new excep("Record not found");
}
catch
{
}
}
return Json(salary,JsonRequestBehavior.AllowGet);
}
Grundsätzlich allowance
sollte auf der Webseite zu basicSalary
Feld hinzugefügt bekommen, wenn der Benutzer wählt die allowance
Dropdownlist. Ich habe einen Breakpoint auf geschweifte Klammern von updateSalary
Aktionsmethode gesetzt, um zu überprüfen, ob javaScript es in der Steuerung auslöst oder nicht, wenn ich die Auswahl in allowance
dropdownList ändere. Es feuert nicht. Ich kann nicht herausfinden warum. Konnte jemand sehen warum?
Javascript-Funktion Ist totaly nicht? Oder nur Ajax? – Berkay