Begonnen von Anfang an, habe ich eine Listenansicht in meiner MVC5 App. Ich habe Links zu Aktionen wie Bearbeiten und Löschen. Wenn ich auf Löschen klicke, will ich Bootstrap Modal Popup anzeigen, welches ich bereits habe. Aber das Problem ist, dass ich Html.ActionLink habe, der mein Modal Popup prompt auf die Methode umleitet, die ich in ActionLink angegeben habe. Ich möchte nur Popup anzeigen und dann auf Senden oder etwas anderes klicken und dann die Aktion ausführen. Aber es gab ein anderes Problem - auf welche Weise kann ich Parameter aus meiner Listenansicht an modales Popup übergeben?ActionLink Pass Parameter zu Bootstrap Modal
Einige Code unten:
@model IEnumerable<SupportStudentSystem.Models.Category>
@{
ViewBag.Title = "List of Categories";
}
<h1 class="text-center">Categories</h1>
<div style="margin-top:1%">
<a href="AddCategory" type="button" class="btn btn-lg btn-success"><i class="glyphicon glyphicon-plus"></i> Add Category</a>
</div>
<table class="table" style="margin-top:2%">
<tr>
<th>
@Html.DisplayNameFor(model => model.CategoryName)
</th>
<th>
@Html.DisplayNameFor(model => model.Description)
</th>
<th>
@Html.DisplayNameFor(model => model.RequiredAge)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.CategoryName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.RequiredAge)
</td>
<td>
@Html.ActionLink("Edit", "EditCategory", "Admin", new { item.CategoryID }, null) |
@Html.ActionLink("Delete", "DeleteCategory", "Admin", new { item.CategoryID }, new {data_toggle = "modal", data_target = "#Delete" }) </td>
</tr>
}
</table>
Und hier ist mein modal:
<div class="modal active" id="Delete" role="dialog" style="overflow-y:auto">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3 style="text-align:center">Delete Category</h3>
</div>
<div class="modal-body">
<p style="text-align:center"><strong> Do you want to delete this category ? </strong> </p>
</div>
<div class="modal-footer">
<button type="submit" onclick="location.href='@Url.Action("DeleteCategory", "Admin")'" class="btn btn-default">Delete category</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</div>
In DeleteCategory Verfahren I Kategorie löschen, hat sich zu einem bestimmten CategoryID wie ein Parameter übergeben, und es dann auch löschen aus Datenbank.
Kann mir jemand helfen, dieses Problem zu lösen?
Ich versuchte mit Html.ActionLink und auch, aber keiner scheint zu arbeiten und ich weiß nicht warum. Ich habe diesen ActionLink: '@ Html.ActionLink (" Usuń "," DeleteCategory "," Admin ", neue {item.CategoryID}, neue {data_toggle =" modal ", data_target =" #Delete ", id =" deleteActionLink " , data_parameter = @ item.CategoryID}) ' und diese jQuery-Funktion: ' var parameter; $ ("# deleteActionLink"). On ("klick", function (e) { // speichere deinen Parameter in der Variablen parameter = $ ("# deleteActionLink"). Data ('id'); $ (" .modal-footer #categoryID "). val (Parameter); });' – zari
Ich bin mir nicht ganz sicher, aber versuche diese Zeile zum Click-Handler hinzuzufügen: – NamiraJV
Versuche, einen Parameter an deinen Handler zu übergeben '$ (" # deleteActionLink "). on (" click ", Funktion (Ereignis) { // Speichern Sie Ihren Parameter in der Variablen event.preventDefault(); Parameter = $ (" # deleteActionLink "). data (" Parameter "); }); ' Vielleicht ist die Standart-ActionLink-Funktionalität störend – NamiraJV