Chciałbym dynamicznie dodawać elementy do listy w moim modelu za pomocą skryptu java. Jak mogę zmusić MVC do powiązania nowego elementu z modelem?Jak dodać elementy do modelu MVC w javascript?
Moje modele:
public class Garage
{
public string Name{ get; set; }
public string Location { get; set; }
public IList<Car> Cars{ get; set; }
}
public class Car
{
public string Color{ get; set; }
public string Name { get; set; }
}
mój pogląd, który używa garażu jako modelu
<% using (Html.BeginForm())
{%>
<div id="cars">
<%
foreach (var item in Model.Cars)
{
Html.RenderPartial("CarView", item);
} %>
</div>
<% } %>
A moja CarView który wykorzystuje samochód, jako modelu
<div class="carRow">
<%-- Color--%>
<%=Html.CustomLabelFor(model => model.Color)%>
<%= Html.TextBox(Model.Color) %>
<%-- Name--%>
<%=Html.CustomLabelFor(model => model.Name)%>
<%= Html.TextBox(Model.Name) %>
</div>
Dodając nowy samochód, używam wywołania AJAX i dodaje go do html. AJAX używa tej metody w kontrolerze:
public ViewResult NewCar()
{
return View("CarView");
}
Mój skrypt java ajax połączeń:
$('.addCarButton').click(function() {
$.ajax({
url: "<%= Url.Action("CreateCars") %>",
cache: false,
success: function (html) { $("#cars").append(html); }
});
return false;
});
Czyni html ładnie, ale nie dodać samochód do listy samochodów.
Jak można tego dokonać?
Nie będzie konieczne dodawanie obsługi kliknięć javascript. Te cienie są już zapewnione w MVC. – spons