Как добавить логику в управление представлением пользователя в MVC 3?
-
25-10-2019 - |
Вопрос
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:
Itt должен вам помочь
http://www.asp.net/mvc/videos/how-do-work-with-data-in-aspnet-mvc-partial-views
Я также рекомендую проект Scott Hanselman's Nerddinner. Это отличный проект, чтобы узнать фреймворк ASP.NET MVC.
Также прочитайте и перечитывайте ответ Дарина Димитрова. Он содержит основы того, как данные обрабатываются в MVC