none
ASP.NET MVC 4 check pending changes on view RRS feed

  • Frage

  • Hallo,

    I already look since longer time for a clean and nice solution for my problem. Is there a way to check whether the user has changed the model (on the client) before he wants to leave the "Edit" page without saving? I want to notify the user that his changes might be lost if he leaves the page.

    i have a model Task, Schedule and Content.

    A Task has multiple Schedules and multiple Contents. 

        public class Task
        {
            public long Id { get; set; }
            [Required]
            [StringLength(100)]
            public string Name { get; set; }
            [Display(Name="Notiz")]
            public string Description { get; set; }
    
            public DateTime? LastSuccessfullBackup { get; set; }
            public DateTime? LastExecutedBackup { get; set; }
            public DateTime? NextPlannedBackup { get; set; }
    
    
            public virtual ICollection<Content> Contents {get;set;}
    
            public virtual ICollection<Schedule> Schedules {get;set;}
    
        }
    


    My View has the following structure

    View Task (Start; strongly typed - Model Task)

    PartialView Schedules (strongly typed - Model Task)

    PartialView Contents (strongly typed - Model Task)

    View Task (End)

    I have already tried this approach (Link) but it doesnt work :(.

    Any ideas?

    Regards Michael

    Freitag, 25. Januar 2013 09:22

Alle Antworten

  • Hallo Michael,

    so wie im von dir geposteten Link gezeigt, sollte es funktionieren. Was genau klappt denn bei dir nicht? Kommt eine Fehlermeldung? Falls ja, welche?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Samstag, 26. Januar 2013 14:27
    Moderator
  • Hallo,

    danke für die schnelle Antwort...

    Naja ich mach es im Prinzip so wie es auf der Seite beschrieben ist (Link) mit dem unterschied, dass

    ich statt einen submit-Button einen Link verwende.

    Hab es folgendermaßen angepasst:

     @Html.ActionLink("Zurück", "Index", "Client", null, new { @class = "btn", onclick = "window.App.submitting = true;" })

    wenn die Seite fertig geladen wurde, ruf ich

    window.App.init();

    auf.

    Als Resultat bekomme ich keine Benachrichtigung, dass sich etwas geändert hat.

    Ich denke mal die Form Daten sind gleich weil kein POST ausgeführt wird.

    Gibt es da keine Lösung für einen Link-Button?

    lg

    Michael


    Dienstag, 29. Januar 2013 08:00