Question

User View Control ne dispose pas d'un code-behind. Alors, où / comment dois-je faire le events des éléments?

Je veux comprendre une logique d'un contrôle dans MVC ...

Était-ce utile?

La solution

Il n'y a pas de contrôle de l'utilisateur dans MVC de sorte que vous ne devriez pas se soucier de la logique d'un contrôle. Il n'y a pas postbacks dans MVC. Il n'y a pas ViewState dans MVC. Il n'y a aucun événement dans MVC.

Il existe des modèles:

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

Contrôleurs le modèle manipulation:

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

et vues rendu les données contenues dans le modèle:

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

Lorsque les vues doivent quelque chose d'appel dans le contrôleur ne plus utiliser des postbacks ou des événements. Ils utilisent des objets HTML standard tels que les liens d'ancrage pour l'envoi des requêtes GET et formulaires pour l'envoi de requêtes POST

Exemple:

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

générerait un lien d'ancrage pour le passage param=123 action du contrôleur Foo en tant que paramètre de chaîne de requête:

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

et les éléments suivants:

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

générerait un formulaire HTML permettant de POST à ??l'action du contrôleur Foo quelques informations:

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

Ressources utiles avec de nombreux tutoriels et vidéos pour apprendre ASP.NET MVC:

Autres conseils

Personnellement id faire la logique dans le contrôleur ou avoir le contrôleur appeler une classe de logique métier qui fait le travail pour vous. le contrôleur retourne alors la vue. Faire passer le modèle en vue de la commande, puis faire passer le modèle de la vue dans la vue partielle (MVC équivalent d'une commande de l'utilisateur)

cela signifie qu'il n'y a pas de logique dans la vue / Vue partielle et signifie que vous pouvez rendre le modèle d'une manière très propre

le fait sens?

Vous ne semblez être trop attaché au cycle de vie de page WebForms.

La méthode de programmation sur la surface pour MVC est fondamentalement différente de WebForms. Il est plus proche de Ruby On Rails.

Des ressources pour vous aider à apprendre MVC sont:

Site Web officiel MVC

Scott projet NerdDinner de Hanselman

Je recommande également le projet NerdDinner de Scott Hanselman .. C'est un grand projet pour apprendre le framework ASP.NET MVC.

A lire également et relire la réponse de Darin Dimitrov .. il contient les bases de la façon dont les données sont traitées dans MVC

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top