我正在努力为学生添加批量,在插入录音之前,我通过ajax调用显示部分视图以查看交易详情。此部分视图通过后期操作控制器提交表单,该控制器插入学生交易详细信息的详细信息以及插入学生的批次。但是我不知道如何在成功响应函数中回到我的ajax之前的状态。 以下是我的代码。
Create.cshtml
<script>
$(".btn").click(function () {
var Id = $(this).attr('id');
$.ajax({
type: "POST",
url: '@Url.Action("AddStudentTransaction", "Student")',
data: { SelectedId: Id },
dataType: "html",
success: function (response)
{
// Want to get back here from partial view
$('#dialog').html(response);
$('#dialog').dialog('open');
var tblEndrolled = $("#tblEnrolled");
$.each(data, function (index, item) {
var tr = $("<tr></tr>");
tr.html(("<td>" + '<input type="submit" id="' + item.Id + '" value="Remove" class="btn" />' + "</td>")
//+ " " + ("<td>" + item.Id + "</td>")
+ " " + ("<td>" + item.FirstName + "</td>")
+ " " + ("<td>" + item.LastName + "</td>")
+ " " + ("<td>" + item.EmailAddress + "</td>")
+ " " + ("<td>" + item.Phone + "</td>"));
tblEndrolled.append(tr);
});
}, failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
});
</script>
StudentController.cs
[HttpPost]
public PartialViewResult AddStudentTransaction(Models.StudentBatch student,string SelectedId)
{
student.batchId = "30a547ad-ef04-41c4-95f8-60b37f004983";
Context.Student contStud = new Context.Student();
Context.Transaction contTrans = new Context.Transaction();
Models.Transaction transaction = new Models.Transaction();
transaction.lstTransactionMode = contTrans.GetTransactionMode();
transaction.lstTransactionType = contTrans.GetTransactionTypes();
transaction.UserId = SelectedId;
ViewBag.BatchId = student.batchId;
return PartialView("AddStudentTransaction", transaction);
}
[HttpPost]
public ActionResult CreateStudentWithTransaction(Models.Transaction transaction, string SelectedId, string id)
{
try
{
transaction.Id = Guid.NewGuid().ToString();
string batchid = "30a547ad-ef04-41c4-95f8-60b37f004983";
Context.Transaction contTransaction = new Context.Transaction();
transaction.Date = DateTime.Now;
bool result = contTransaction.AddTransaction(transaction);
if (result == true)
{
Context.Student contStudent = new Context.Student();
Models.StudentBatch student = new Models.StudentBatch();
student.batchId = batchid;
student.studentId = transaction.UserId;
student.Transactionid = transaction.Id;
student.RemainingAmount = "0";
student.Status = "Clear";
contStudent.AddNewStudentBatch(student);
CreateUser user = new CreateUser();
var StudentList = user.GetAllUsers().ToList().Where(u => u.Id == transaction.UserId);
ViewBag.Value = StudentList;
}
// TODO: Add insert logic here
return Json(ViewBag.Value, JsonRequestBehavior.AllowGet);
//return RedirectToAction("Index");
}
catch(Exception e)
{
return View();
}
}
AddStudentTransaction.cshtml
@using (Html.BeginForm("CreateStudentWithTransaction", "Student", FormMethod.Post))
{
// all the required controls
}
StudentController.cs