Wie verwende ich einen Controller Aktion regenerieren Sie das Modell ohne navigation?

Habe ich ein MVC-5-website zeigt, dass log-Datei-Einträge in einem raster und stellt eine Suchfunktion zur Verfügung. Ich habe sowohl die Suche nach Kriterien und raster.mvc grid auf der Index-Seite. Wenn der Benutzer die Suchkriterien ein und klickt auf den submit-button möchte ich die ProcessLogEntries-Methode (unten) um das Modell zu aktualisieren, und aktualisieren Sie den Index.cshtml-Seite nicht navigieren Sie zu einer nicht-existenten ProcessLogEntries Seite!

Im Grunde genommen, ich möchte diese Anwendung verhält sich wie ein Single-Page-Anwendung...

Wie richte ich den HomeController.ProcessLogEntries () - Methode, dies zu erreichen?

public class HomeController : Controller
{
    public LogsResearchViewModel ViewModel  { get; set; }

    public HomeController()
    {
        ViewModel = new LogsResearchViewModel();
    }

    public ActionResult Index()
    {
        ViewBag.Message = "";
        return View(ViewModel);
    }

    [HttpPost]
    public ActionResult ProcessLogEntries(string txtSearchFor, string txtDateStart, string txtDateStop, string txtSource)
    {
        ViewBag.Message = "";

        string searchFor = txtSearchFor.ToString();
        DateTime start = DateTime.Parse(txtDateStart.ToString());
        DateTime stop = DateTime.Parse(txtDateStop.ToString());
        string source = txtSource.ToString();

        ViewModel.GetProcessLogEntries(searchFor, start, stop);
        ViewModel.GetErrorLogEntries(source, searchFor, start, stop);

        return View(ViewModel);
    }
}
Sie müssen AJAX, ausgelöst durch Schaltfläche statt eines Formulars. Dann wieder eine Teilansicht von Ihrem ProcessLogEntries Aktion. Hier ist ein Beispiel mit teilweiser Aussicht.
Man könnte auch json zurückgeben von Ihrem ProcessLogEntries handeln und konsumieren, dass ein Objekt in javascript, wenn Sie brauchen nicht viel von einer Ansicht Antwort.
Jasen, Wie würde ich ein update für das Modell mit AJAX/JSON? Ich werde Ihren link verwiesen wird; hoffentlich werde ich dort die Antwort finden... 🙂
Ich hoffe, dass ich deutlich gemacht, dass ich muss die LogsResearchViewModel ViewModel aktualisiert werden (was ich passieren können Werte in die Steuerung, so zu tun); um die Ansicht zu aktualisieren UI die datagrid. Ich weiß einfach nicht wollen, um die Seiten zu wechseln nach so... IDK, wie Sie das update ViewModel per AJAX, so IDK wie zu machen, dass der Ansatz funktioniert.

InformationsquelleAutor MilesT | 2014-09-24

Schreibe einen Kommentar