На мой взгляд, у меня есть ActionLink, который передает Id в другой вид. Я использовал это несколько раз, но по какой-то причине он не работает на этом ActionLink. Я даже пытался с помощью AJAX POST-вызова в javascript, но без успеха. Я делаю что-то неправильно? Если да, то я не вижу.Html.ActionLink не передает мой id
Контроллер:
Параметр Id в этой функции 0 и должны быть заполнены.
public ActionResult NieuwPriveBericht(int Id)
{
TblPER_Personeelslid Sender = BCL.GetEmployeeByLoginName(Session["LoginName"].ToString());
TblPER_Personeelslid Receiver = BCL.GetEmployeeById(Id);
var Model = new TblALG_PrvBericht();
Model.Datum = DateTime.Now.Date;
Model.Zender = Sender.IDPersoneelslid;
Model.Ontvanger = Receiver.IDPersoneelslid;
ViewBag.ReceiverName = Receiver.Voornaam + " " + Receiver.Naam;
return View(Model);
}
public ActionResult PriveBerichten()
{
ViewBag.SelectedEmployee = "";
var Model = new PriveBerichten();
return View(Model);
}
Вид:
Если отладить мой взгляд, я ясно вижу @ Model.SelectedOption заполненными.
@using (Html.BeginForm("PriveBerichten", "Home", @Model, FormMethod.Post))
{
@Html.ActionLink("Nieuw bericht maken", "NieuwPriveBericht", new { Id = @Model.SelectedOption }, new { @class = "button-add" })
}
AJAX ВЫЗОВ
$("#DdlEmployees").change(function() {
var SelectedEmployee = $('#DdlEmployees option:selected').val();
$.ajax({
type: "POST",
url: 'PriveBerichten?SelectedEmployee=' + SelectedEmployee, // this works
dataType: "json",
data: $('form').serialize(),
success: function() {
alert("test"); // does not show
},
error: function() {
}
});
})
Это уже не оригинальный вопрос, вы должны размещать разные вопросы отдельно. – Lin