возврат подтверждающего сообщения на той же странице - PullRequest
1 голос
/ 01 марта 2012

Как я могу отобразить сообщение в том же браузере после вставки ученика?В настоящее время я использую возвращаемый контент, который перемещает меня на новую страницу, но я хочу отобразить сообщение на той же странице и остаться на той же странице:

Контроллер индекса:

    public ActionResult Index()
    {
        return View(_repository.ListAll().OrderByDescending(s => s.StudentID));

    }

КонтроллерДействие:

    public ActionResult RemoveStudent(int id)
    {

        StudentDataContext student= new StudentDataContext();

        var std = student.Students.Single(s => s.StudentID == id);
        student.Students.DeleteOnSubmit(std);
        student.SubmitChanges();
        return Content("Student " + std.StudentId.ToString() + " Removed");

    }

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 01 марта 2012

Верните свое представление, и вы можете сохранить сообщение в модели или в ваших данных TempData.

public ActionResult RemoveStudent(int id)
{
    StudentDataContext student= new StudentDataContext();

    var std = student.Students.Single(s => s.StudentID == id);
    student.Students.DeleteOnSubmit(std);
    student.SubmitChanges();

    TempData["Message"] = "Student " + std.StudentId.ToString() + " Removed";
    return RedirectToAction("Index");
}

По вашему мнению, вы можете проверить, является ли TempData["Message"] ноль, и отобразить его.

1 голос
/ 01 марта 2012

Вы можете сделать это асинхронно, используя AJAX.Вы можете сделать это, используя JQuery:

http://blog.bobcravens.com/2009/11/ajax-calls-to-asp-net-mvc-action-methods-using-jquery/

или форму ajax:

http://www.hanselman.com/blog/ASPNETMVCPreview4UsingAjaxAndAjaxForm.aspx

1 голос
/ 01 марта 2012

Вы можете вернуть какой-то определенный вид:

public ActionResult RemoveStudent(int id)
{
    StudentDataContext student= new StudentDataContext();
    var std = student.Students.Single(s => s.StudentID == id);
    student.Students.DeleteOnSubmit(std);
    student.SubmitChanges();

    ViewBag.Message = "Student " + std.StudentId.ToString() + " Removed";

    return View();

    // or if you want to specify a view name:
    // return View("MyView");

    // and if you need to pass a model that the view expects
    // return View("MyView", someModel);
}

и внутри вида:

<div>@ViewBag.Message</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...