Ich möchte Elemente zu einer Liste in meinem Modell dynamisch mit Java-Skript hinzufügen. Wie kann ich MVC veranlassen, den neuen Artikel an das Modell zu binden?Wie Elemente zu MVC-Modell in Javascript hinzufügen?
Meine Modelle:
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; }
}
Meine Ansicht, die eine Garage als Modell verwendet:
<% using (Html.BeginForm())
{%>
<div id="cars">
<%
foreach (var item in Model.Cars)
{
Html.RenderPartial("CarView", item);
} %>
</div>
<% } %>
Und mein Carview, die ein Auto als Modell verwendet:
<div class="carRow">
<%-- Color--%>
<%=Html.CustomLabelFor(model => model.Color)%>
<%= Html.TextBox(Model.Color) %>
<%-- Name--%>
<%=Html.CustomLabelFor(model => model.Name)%>
<%= Html.TextBox(Model.Name) %>
</div>
Beim Hinzufügen ein neues Auto, ich benutze einen AJAX-Anruf und fügt es dem HTML hinzu. Die AJAX verwendet diese Methode in der Steuerung:
public ViewResult NewCar()
{
return View("CarView");
}
Mein Java Script Ajax-Aufruf:
$('.addCarButton').click(function() {
$.ajax({
url: "<%= Url.Action("CreateCars") %>",
cache: false,
success: function (html) { $("#cars").append(html); }
});
return false;
});
Das die HTML schön macht, aber es funktioniert nicht mit dem Auto in der Liste der Autos hinzuzufügen.
Wie kann das gemacht werden?
Es sollte kein JavaScript-Klick-Handler hinzugefügt werden. Diese Thins sind bereits in MVC zur Verfügung gestellt. – spons