2010-11-24 11 views
0

Ich versuche herauszufinden, wie Controller arbeiten. Offensichtlich, wenn eine Seite zuerst geladen wird, wird ActionResult Index() aufgerufen. Aber wie nennt man andere Funktionen innerhalb des Controllers?ASP.NET MVC 2: Html.ActionLink eine andere Funktion innerhalb des Controllers?

Ich versuchte mit Html.ActionLink("Click Me", "ControllerFunction"), aber es suchte nur nach einer Seite namens "ControllerFunction."

Was ich gerne tun könnte, ist eine Funktion innerhalb des Controllers aufrufen, der die Ansichtsdaten aktualisiert und dann die Seite (oder Ajax) aktualisiert.

Wie soll das funktionieren? Da jetzt die einzige nützliche Funktion in der Steuerung ist Index()

Antwort

0

Controller:

public HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult AjaxAction() 
    { 
     return View(); 
    } 
} 

und dann in der Index.aspx-Ansicht können Sie einen Link und ein leeres div haben, das das Ergebnis der AJAX-Anfrage enthält:

<%: Html.ActionLink("ajax test", "ajaxaction", null, 
    new { id = "ajaxtest" })%> 
<div id="result"></div> 

, die Sie würde dann mit Javascript (jQuery in meinem Fall) verbessern:

$(function() { 
    $('#ajaxtest').click(function() { 
     $('#result').load(this.href); 
     return false; 
    }); 
}); 

Wenn Sie den Link klicken auf eine AJAX-Anforderung an /home/ajaxlink gesendet werden, die AjaxAction.ascx eine Teilansicht machen würde, und legen Sie seine Inhalte in das Ergebnis div.

+0

Aber was ist der Sinn der Controller-Funktion? Alles, was es macht, ist, die Ansicht wieder zurückzugeben, und von meinem Beispiel wurde nur versucht, eine Seite ähnlich wie "Ajaxaction" zu finden ... – dcolumbus

+0

Der Punkt ist, dass diese Controller-Funktion (genannt Aktion) basierend auf der Benutzeranforderung manipulieren wird das Modell, verwenden Sie ein Repository, um Daten aus einer Datenbank abzurufen, führen Sie viele andere Dinge aus, bevor Sie eine Ansicht zurückgeben, es sei denn natürlich, dass diese Ansicht vollständig statisch sein soll. –

Verwandte Themen