So rufen Sie mehrere Aktionen in der Ansicht in ASP.NET MVC?
Problem ist:
Bin ich über eine textbox um einen string q und will es pass zu 3 verschiedenen Aktionen in search
controller. also action1(string q), action2(string q)
und so weiter
Nun die syntax meiner Aktion:
public ActionResult action1(string q)
{
var mydata = from p in fab //LINQ logic
select new action1class
{ data1=p //assignment };
return View("_partialAction1", mydata);
}
Ebenso gibt es zwei andere Aktionen.
Ich bin mit 3 verschiedenen Aktionen, weil meine LINQ-Logik wird von Daten aus 3 verschiedenen Quellen, so gibt es verschiedene mydata
erstellt werden muss.
Mein problem ist: ich versuche, dass wenn ich auf "Suche" - Button der textbox dann alle 3 Aktionen ausgeführt werden soll und erzeugen Teilansicht eines unter anderen in einigen <div id="action1">
tags.
Habe ich versucht zu verwenden ajax.BeginForm
aber es kann nur rufen jeweils eine Aktion
@using (Ajax.BeginForm("action1", "Search", new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "action1",
LoadingElementId="progress"
}))
Auch habe ich versucht zu verwenden ViewModel
aber das problem ist, dass ich nicht ein größeres Modell, um die Ansicht mit diesen mydata
Art von Daten, die in LINQ ist in der Aktion. Ich habe keine klare Vorstellung, wie viewmodel in diesem Fall.
Ist der Ansatz, den ich verwende, richtig? Oder kann es da anders sein? Ich möchte zeigen das Ergebnis aller Aktionen, die mit einem Taste klicken.
Ich würde vorschlagen, dass Sie einen anderen Blick auf die mit AJAX. AJAX wird durch IIS zulassen zu behandeln, die Aktionen (requests) async, was sich in schnelleren Reaktionszeiten. Könnte Sie posten Sie Ihre AJAX-code?
mit 3 verschiedenen Aktionen, weil meine LINQ-Logik wird von Daten aus 3 verschiedenen Quellen 3 verschiedene "mydata" erstellt werden muss.
nur aktualisiert der ajax-code
Hat deine page load jQuery?
InformationsquelleAutor Man8Blue | 2012-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt zwei Arten von Aktionen sind im MVC-framework. Die ersteren sind die wichtigsten Aktionen und Sie werden vom browser aufgerufen ein zu einer Zeit. Die zweite Art sind aufgerufen, als Kind Aktionen und diese Aktionen können nicht vom browser aufgerufen, sondern von den Ansichten zurück durch die wichtigsten Aktionen. Mehrere Kind Aktionen kann aufgerufen werden unter einem wichtigsten Maßnahmen. So sehen Sie in Kind-Aktionen, ob Sie helfen oder nicht.
Ex.
http://msdn.microsoft.com/en-us/library/ee839451.aspx
InformationsquelleAutor VJAI
Sie können nur eine Aktion pro Anfrage. Wenn Sie möchten 3 verschiedene partial-sichten für eine einzigartige klicken, müssen Sie zum erstellen eine layout-Seite enthält die 3 teilweise Ansichten, wie Sie Sie haben wollen, und stellen Sie sicher, dass Ihre Aktion erhält die richtigen Parameter zum ausführen der partial-view-rendering.
Sie nicht. Rufen Sie 1 Aktion. Die Aktion muss wiederum entsprechen einer einzigen Ansicht, dass Ihr teilweise den Blick. Das Anfrage->die Aktion ist eine 1:1-Beziehung.
Wenn Sie möchten, um in AJAX, um dieses zu vervollständigen, das wäre sicherlich nützlich sein, aber es wird immer noch einkochen, um eine 1:1-Konzept. 1 AJAX-call wird notwendig sein, für jede Teilansicht.
InformationsquelleAutor Joel Etherton
Warum nicht pass das ViewModel an die partialViews. Stellen Sie sicher, Sie haben unterschiedliche Eigenschaften im ViewModel halten die PartialView Spezifischen Daten plus such-text. Hier ist ein Beispiel:
Modell
ViewModel
_Partial1.cshtml
_Partial2.cshtml
ActualView.cshtml
Temp Daten (Sie bekommen es von DB/anderen Quelle)
Controller-Aktionen
Nun, wenn Sie geben Sie " A " für
SearchText
und TrefferSubmit Query
Sie erhalten zwei unterschiedliche Ergebnisse (im Prinzip die gemeinsame Suche text verwendet wird und auf der Basis der Suchanfrage in jeder Teil-Ansicht, die Sie erzeugt unterschiedliche Ergebnisse)InformationsquelleAutor Prashanth Thurairatnam