ASP.Net Ouvrir Un Modal à Partir d'un ActionLink

J'ai un GPA Tracker projet de travailler sur, et je vais essayer d'obtenir un modal de pop-up à partir de mes fonctions CRUD. Je l'ai semi de travail dans lequel il renvoie une vue partielle, mais pas dans le formulaire modal. Je pense que ma logique est foiré quelque part ou je ne suis pas à l'aide de JQuery et Ajax correctement ou quelque chose. Toute aide serait appréciée.

Voici ce que j'ai jusqu'à présent.

Maison Contrôleur

HTML:

public ActionResult Edit(int? id)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    Course course = _db.Courses.Find(id);
    if (course == null)
    {
       return HttpNotFound();
    }
    return PartialView("_Edit", course);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Course course)
{
    if (ModelState.IsValid)
    {
        _db.Entry(course).State = EntityState.Modified;
        _db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View("Index");
}

CourseList Partielle appelée à partir de l'Index

HTML:

 <td>
       @Html.ActionLink("Edit", "Edit", new { id = item.Id, @data_toggle="modal", @data_target="editCourseModal" } ) |
       @Html.ActionLink("Details", "Details", new { id = item.Id }) |
       @Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>

Script à l'intérieur de la CourseList

HTML:

<script type="text/javascript">
$(function() {
$('editCourseModal').on("click", function(e) {
$('formEditCourse').load(this.href, function() {
$('editCourseModal').modal({
keyboard: true
}, 'show');
})
})
$("#editBtn").on("click", function() {
$("#formEditCourse").submit();
});
$("#formEditCourse").on("submit", function(event) {
var $form = $(this);
var options = {
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize()
};
});
});
</script>

Modifier Partielle

HTML:

@model Project3.Models.Course
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div id="mainContent" class="modal-content col-sm-12">
<div id="myModalContent"></div>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="myModalLabel">Edit Course</h4>
</div>
@using (Html.BeginForm()) { @Html.AntiForgeryToken()
<div class="modal-body">
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" }) @Html.HiddenFor(model => model.Id)
<div class="form-group">
@Html.LabelFor(model => model.courseCode, htmlAttributes: new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.EditorFor(model => model.courseCode, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.courseCode, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.courseName, htmlAttributes: new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.EditorFor(model => model.courseName, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.courseName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.courseHours, htmlAttributes: new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.EditorFor(model => model.courseHours, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.courseHours, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.courseLetterGrade, htmlAttributes: new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.EditorFor(model => model.courseLetterGrade, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.courseLetterGrade, "", new { @class = "text-danger" })
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal">Cancel</button>
<input class="btn btn-primary" type="submit" value="Save" />
</div>
</div>
</div>
</div>
}

Lorsque je clique sur les opérations CRUD, il tire juste une vue partielle, j'ai du créer modal de travail, et j'ai essayé de modéliser toutes les opérations CRUD par la suite, mais impossible de le faire fonctionner pour tirer dynamique de données dans les champs.

Encore une fois, toute aide serait grandement appréciée.

  • Le POST de formulaire atteindre le contrôleur/action ? $("#editBtn"). n'est pas sur le formulaire..?
  • Je l'ai ajouté à la Edit forme <button type="submit" class="btn btn-primary" id="editBtn" data-dismiss="modal" value="Save">Save</button>, mais pas de différence. Il est encore seulement en tirant la partielle _Edit vue et non modale.
  • Donner des que la page d'édition avec la forme de charges, lorsque vous cliquez sur "soumettre", bouton, vous devriez avoir l'activité du réseau (vérifiez outils de dev sur votre navigateur) et aussi un point de rupture sur votre action..
  • Si vous cliquez sur le lien MODIFIER, la boîte de dialogue Modale montre, puis le _Edit page n'a même pas la charge ou à la charge avec pas de données dans les champs de saisie ?
  • Je ne peux même pas obtenir la modale de la pop. Il va directement à l'_Edit partielle avec les données correctes dans les champs. Mon problème est d'obtenir la modale de pop-up une fois que j'ai cliquer sur une des fonctions CRUD, sauf que j'ai eu le créer modal de travail.
InformationsquelleAutor | 2016-11-29