dir.by  
  Поиск  
Компьютер, программы
ASP.NET MVC (Model-View-Controller website)
 Строго типизированное представление (Strongly-typed-view) в ASP.NET MVC 
посмотрели 10436 раз
обновлено: 2 November 2018
Строго типизированное представление это представление с параметром. Параметр в строго типизированное представление передает контролер.
Строго типизированное представление это представление с указанием типа модели в начале файла.
Шаг 1. Создаем новое ASP.NET MVC приложение
Шаг 2. Создадим новый класс Book в папке Models
Нажимаем правой клавишей мыши в Solution ExplorerModelsAddNew Item
В окне выбираем: Visual C#CodeClass
Пишем имя файла Book.cs и нажимаем Add
  Напишем код в файле Models/Book.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1.Models
{
     public class Book
     {
          public int Price;
          public string Name;
     }
}
Шаг 3. В контролер добавим метод Show
  C#     Добавим метод Show в файле Controllers\HomeController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

using WebApplication1.Models;

namespace WebApplication1.Controllers
{
     public class HomeController : Controller
     {
          // GET: Home
          public ActionResult Index()
          {
               return View();
          }

          // GET: Show
          public ActionResult Show()
          {
               // создаем List
               List<Book> books = new List<Book>();

               // заполняем Библиотеку книг
               books.Add(new Book() { Name = "Властелин Колец", Price = 200 });
               books.Add(new Book() { Name = "Три мушкетера", Price = 300 });
               books.Add(new Book() { Name = "Гарри Поттер", Price = 400 });

               // передаем books во View
               // вызов View с параметром это строго типизированное представление
               return View(books);
          }
     }
}
Шаг 4. Добавляем строго типизированное представление (Strongly-typed-view) My1.cshtml
Нажимаем правой клавишей мыши по методу Show в файле HomeController.cs и нажимаем на Add View ...
Указываем тип модели:
Visual Studio 2013
Visual Studio 2013
Visual Studio 2017
Visual Studio 2017
В папке Views/Home создался новый файл Show.cshtml
  Напишем код в файле Views/Home/Show.cshtml
@model IEnumerable<WebApplication1.Models.Book>

@{
     Layout = null;
}

@foreach (var item in Model)
{
     @item.Name
     <br />
}
Шаг 5. Открываем в браузере строго типизированное представление
Откроем в браузере ссылку
http://localhost:5230/Home/Show
открываем такую ссылку чтобы вызвался у контролера Home метод Show()
Метод Show() откроет строго типизированное представление.

Внимание!
В ссылке http://localhost:5230 замените число 5230 на ваш порт. Узнать порт вашего ASP.NET MVC приложения...

  C#  
// GET: Show
public class HomeController : Controller
{
     public ActionResult Show()
     {
          // создаем List
          List<Book> books = new List<Book>();

          // заполняем Библиотеку книг
          books.Add(new Book() { Name = "Властелин Колец", Price = 200 });
          books.Add(new Book() { Name = "Три мушкетера", Price = 300 });
          books.Add(new Book() { Name = "Гарри Поттер", Price = 400 });

          // передаем books во View
          // вызов View с параметром это строго типизированное представление
          return View(books);
     }
}


В браузере увидим наше строго типизирование представление
 
← Previous topic
Display [DateTime | Date only | Time only] in the desired format in the MVC ASP.NET
 
Next topic →
Master View using @RenderBody() in the MVC ASP.NET
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

 
What is MVC in ASP.NET ?
Creating a new application ASP.NET MVC
Controller
Pass the data from the controller to the view in the MVC ASP.NET. Using ViewBag, ViewData, TempData, Model (strongly typed view)
View
What are Razor View and Operators in MVC ASP.NET
Create a variable and display it in View in the MVC ASP.NET
@using inside View in the MVC ASP.NET
@foreach(var item in arr) {...} inside the View in the MVC ASP.NET
@DateTime.Now inside the View in the MVC ASP.NET
How to find the name of the controller inside the View in the MVC ASP.NET
Display [DateTime | Date only | Time only] in the desired format in the MVC ASP.NET
Views
Strongly-typed-view in MVC ASP.NET
...
Master View using @RenderBody() in the MVC ASP.NET
Master View using @RenderBody() and additional sections @RenderSection in the MVC ASP.NET
...
Partial View in the MVC ASP.NET. Embed a partial representation @Html.Partial("My1") and @{ Html.RenderPartial("My1");}
When you click submit inside the partial view, the controller method is called ajax. The controller method should return PartialView(model) | ASP.NET MVC
...
Strongly-typed partial view in the MVC ASP.NET
Create the ViewModels folder. This is a good programming style for transferring data from the Controller to the View
Create the ViewModels folder. Create your class in the ViewModels folder. This is a good programming style for transferring data from the Controller to the View. Web Application ASP.NET MVC
Attributes. Use the attributes in the ViewModels (to show the combo buttons in the view). Using attributes in the Controller (to improve methods)
Attribute [Display(Name = "... ")] is described in the C# class and used in @Html.LabelFor, @Html.DisplayNameFor in the MVC ASP.NET
The attribute [Required(ErrorMessage = "Please enter a name")] is described for a property in the C# class and requires the property to be populated if the ErrorMessage error in the MVC ASP.NET is not filled in the screen
The attribute [Remote("IsValidAuthor", "Home", ErrorMessage = "Enter correct author of book")] is described for a property in a C# class and checks that property for correctness on the server via the IsValidAuthor method in conroller Home, if the method returns false, then there will be an ErrorMessage error on the screen in the MVC ASP.NET
The [HiddenInput(DisplayValue=false)] attribute is described in the C# class and is used in @Html.HiddenFor in the MVC ASP.NET
Routing
Links and redirects in the view
@Html.ActionLink inside the View in the MVC ASP.NET
@Html.RouteLink inside the View in the MVC ASP.NET
@Url.Action inside the View in the MVC ASP.NET
@Url.RouteUrl inside the View in the MVC ASP.NET
@Url.Content inside the View in the MVC ASP.NET
Bootstrap in MVC
Add and include Bootstrap (css, js files) to ASP.NET MVC project
JQuery in MVC
Connecting JQuery to ASP.NET MVC project
Using JQuery, we get the contents of the View in the MVC ASP.NET. Example: $.get("/Home/Index", function (data) {...}) ...
MVC AjaxExtensions class (asynchronous data retrieval)
Plugging jQuery & AJAX into ASP.NET MVC project
Using Ajax.ActionLink, get the contents of the View and insert it into the div in the MVC ASP.NET
Ajax object (this is the AjaxExtensions class) in MVC ASP.NET
Database (Entity Framework) in MVC ASP.NET
Entity Framework in the ASP.NET MVC application. Using Code First (we write c# code, and the tables in the database are created by ourselves)
Authentication (login/register/logout)
What is authentication (login/register/logout) in the MVC ASP.NET?
Example: Authentication (login/register/logout) in MVC ASP.NET using FormsAuthentication.SetAuthCookie(model. Name, true);
Authorization (admin/user/...)
What is authorization (admin/user/...) in the MVC ASP.NET?
Example: Authorization (admin/user/...) in MVC ASP.NET using the RoleProvider role provider
Writing the appendix "Planning tasks" in the MVC ASP.NET
Creating an empty application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Adding Bootstrap & jQuery libraries to the application "Scheduling tasks" | ASP.NET MVC | Visual Studio 2017
Create a master view (main menu & button login using Bootstrap) in the application "Planning tasks" | ASP.NET MVC | Visual Studio 2017
Add the "Home" controller and the "Index" view (the main page in the application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Add the Entity Framework library and create a connection to the Database in the application "Planning tasks" | ASP.NET MVC | Visual Studio 2017
Authentication (login/register/logout) in the application "Scheduling tasks" | ASP.NET MVC | Visual Studio 2017
Add the class "Task" to save tasks, tasks to the database in the application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Adding nUnit in the application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Additional topics, questions
Why is MVC ASP.NET better ASP.NET Web Forms?
Choosing between ASP.NET Core and ASP.NET?
How to choose an Internet browser to run a .NET project in it
How do I find the local address and port of your ASP.NET MVC application?
Scriptsindex.d.ts(8,1): error TS1008: Build:Unexpected token; "module, class, interface, enum, import or statement" expected. Scriptsindex.d.ts(8,13): error TS1005: Build:";" expected. in Visual Studio 2017 in the ASP.NET MVC app
Error "unable to connect to web server "iis express" | ASP.NET MVC | Visual Studio 2017
Error "This site can"t be reached" when run ASP.NET application | Solution: Recreate the Self-Signed HTTPS Certificate for localhost in IIS Express
WWW Sites to Learn ASP.NET MVC
Sites to learn ASP.NET MVC

  Ваши вопросы присылайте по почте: info@dir.by