Как добавить логику в управление представлением пользователя в MVC 3?

StackOverflow https://stackoverflow.com/questions/4811026

Вопрос

User View Control У него нет кода. Итак, где/как сделать events элементов?

Я хочу понять логику управления в MVC ...

Это было полезно?

Решение

В MVC нет управления пользователем, поэтому вы не должны беспокоиться о логике управления. В MVC нет возвратов. В MVC нет ViewState. В MVC нет событий.

Есть модели:

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

Контроллеры манипулируют моделью:

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

и представления, производящие данные, содержащиеся в модели:

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

Когда просмотры должны вызвать что -то в контроллер, они больше не используют каких -либо отправщиков или событий: они используют стандартные HTML -артефакты, такие как ссылки на привязки для отправки запросов на получение GET и формы для отправки запросов.

Пример:

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

генерирует якорную ссылку на действие Foo Controller, проходящее param=123 как параметр строки запроса:

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

и следующее:

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

генерирует форму HTML, позволяющую вам публиковать действие контроллера Foo. Некоторая информация:

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

Полезные ресурсы со многими учебниками и видео для обучения ASP.NET MVC:

Другие советы

Лично ID сделает логику в контроллере или попросите контроллера вызов класса бизнес -логики, который выполняет работу для вас. Контроллер затем вернет представление. Передайте модель в свое представление из контроллера, а затем передайте модель из представления в частичное представление (MVC эквивалент управления пользователям)

Это будет означать, что в представлении/ частичное представление нет логики и будет означать, что вы можете отображать модель очень чистым способом

Имеет ли это смысл?

Вы, кажется, слишком привязаны к жизненному циклу страницы WebForms.

Методология программирования на поверхности для MVC в основном отличается от веб -форм. Это больше похоже на Руби на рельсах.

Некоторые ресурсы, которые помогут вам узнать MVC:

Официальный веб -сайт MVC

Проект Nerddinner Scott Hanselman

Я также рекомендую проект Scott Hanselman's Nerddinner. Это отличный проект, чтобы узнать фреймворк ASP.NET MVC.

Также прочитайте и перечитывайте ответ Дарина Димитрова. Он содержит основы того, как данные обрабатываются в MVC

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top