Domanda

User View Control non dispone di un code-behind. Così, dove / come devo fare la events di elementi?

voglio capire una logica di un controllo in MVC ...

È stato utile?

Soluzione

Non ci sono controlli utente in MVC, quindi non si dovrebbe preoccuparsi logica di un controllo. Non ci sono postback in MVC. Non v'è alcun ViewState in MVC. Non ci sono eventi in MVC.

Ci sono modelli:

public class MyViewModel
{
    public string Name { get; set; }
}

Controller manipolare il modello:

public class HomeController: Controller
{
    public ActionResult Index()
    {
        return View(new MyViewModel
        {
            Name = "John"
        });
    }
}

e Vista rendendo i dati contenuti nel modello:

@model AppName.Models.MyViewModel
<div>@Model.Name</div>

Quando viste bisogno di chiamare qualcosa nel controller non sono più usa alcun postback o eventi:. Usano manufatti HTML standard quali i collegamenti di ancoraggio per l'invio di richieste GET e forme per l'invio di richieste POST

Esempio:

@Html.ActionLink("click me", "Foo", new { param = "123" })

genererebbe un link di ancoraggio per l'azione di controllo Foo passando param=123 come parametro di stringa di query:

<a href="/home/foo?param=123">click me</a>

e il seguente:

@using (Html.BeginForm("Foo", "Home"))
{
    @Html.TextBoxFor(x => x.Name)
    <input type="submit" value="OK">
}

genererebbe un modulo HTML che consente di POST per l'azione di controllo Foo alcune informazioni:

<form action="/Home/Foo" method="post">
    <input type="text" id="Name" name="Name" value="" />
    <input type="submit" value="OK" />
</form>

Risorse utili con molti tutorial e video per imparare ASP.NET MVC:

Altri suggerimenti

Personalmente id fare la logica nel controller o hanno il controller chiamare una classe logica di business che fa il lavoro per voi. il regolatore per poi tornare la vista. Passare il modello in immagine dal controllore e quindi passare il modello dalla vista nella vista parziale (MVC equivalente di un controllo utente)

Questo significa che non c'è logica nella Vista / Vista Parziale e vorrà dire che si può rendere il modello in un modo molto pulito

Ha senso?

Non sembra di essere troppo attaccati alla pagina WebForms ciclo di vita.

La metodologia di programmazione sulla superficie perMVC è fondamentalmente differente da WebForms. E 'più simile a Ruby On Rails.

Alcune risorse che consentono di apprendere MVC sono:

ufficiale MVC Web

Scott Hanselman

Sarò anche raccomandare progetto NerdDinner di Scott Hanselman .. E 'un grande progetto per imparare il framework ASP.NET MVC.

Anche a leggere e rileggere la risposta di Darin Dimitrov .. che contiene i principi fondamentali di come i dati vengono trattati in MVC

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top