Mam tabelę w widoku MVC, który wyświetla szczegóły pracownika. Chciałbym dodać funkcję edycji, ale zamiast otwierać ją na nowej stronie, chciałbym ją pokazać przy użyciu modemu bootstrap. (http://twitter.github.com/bootstrap/javascript.html#modals)Jak użyć modemu bootstrap do edycji danych tabeli w MVC?
Nie sądzę, że muszę używać ajax, ponieważ dane są już dostępne na stronie. Myślę, że potrzebuję jakiegoś kodu jQuery lub brzytwy, aby przekazać dane wybranego pracownika do modemu ładowania początkowego i wyświetlić go na tym samym ekranie. Poniżej znajduje się mój kod. Każda pomoc będzie wielce ceniona. Dzięki
@Foreach(var item in Model.Employees)
{
<tr>
<td>@User.Identity.Name
</td>
<td>@item.FirstName
</td>....other columns
<td><a href="#myModal" role="button" class="btn" data-toggle="modal">Edit</a>
<td>
</tr>........other rows
}
**Bootstrap Modal**
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Edit Employee</h3>
</div>
<div class="modal-body">
<p>Selected Employee details go here with textbox, dropdown, etc...</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
Dzięki. Czy mógłbyś pokazać mi również podejście ajaxowe? Z pewnością chciałbym poznać to podejście. Przy okazji, kiedy wysyłam dane z powrotem, muszę edytować bazę danych przy użyciu identyfikatora pracownika. więc czy powinienem uczynić id pracownika jako ukryty element w widoku? – Ren
W podejściu AJAX umieszczasz zawartość modalu wewnątrz częściowego. Następnie kliknięcie linku Edytuj powoduje wysłanie żądania AJAX do akcji kontrolera i wysłanie bieżącego identyfikatora pracownika. Akcja kontrolera użyje tego identyfikatora do pobrania odpowiedniego rekordu i przekazania go do widoku częściowego. Wewnątrz powodzenia połączenia AJAX powinieneś wstrzyknąć tę częściową zawartość do DOM. –
Zaktualizowałem moją odpowiedź, aby podać przykład. –