You are on page 1of 7

Міністерство освіти та науки України

Національний університет «Одеська політехніка»


Кафедра кібербезпеки та програмного забезпечення

Лабораторна робота №3
З дисципліни: «Веб-технології та веб-дизайн»

Виконав: студент групи РЗ-201


Колесник Іван Олександрович
Перевірив: ас. Козаченко Н. Г.

Одеса – 2023
Хід роботи

EntryView.cshtml:
@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>EntryView</title>
<link href="~/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="~/lib/bootstrap/css/bootstrap.rtl.min.css" rel="stylesheet" />
<link href="~/lib/bootstrap/css/bootstrap.rtl.css" rel="stylesheet" />
<link href="~/lib/bootstrap/css/bootstrap.css" rel="stylesheet" />
</head>
<body>
<div class="text-center m-2">
<h3> We conduct a survey.</h3>
<h4> And we invite you to participate in it.</h4>
<a class="btn btn-primary" asp-action="Input">Comment</a>
</div>

</body>
</html>

InputView.cshtml:
@model PersonReview
@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>EntryView</title>
<link rel="stylesheet" href="~/css/site.css" />
</head>
<body>
<form asp-action="Input" method="post">
<div asp-validation-summary="All"></div>
<p>
<label asp-for="Name">Your Name:</label>
<input asp-for="Name" />
</p>
<p>
<label asp-for="Email">Your Email:</label>
<input asp-for="Email" />
</p>
<p>
<label asp-for="Phone">Your Phone:</label>
<input type="number" min="10000" asp-for="Phone" />
</p>
<p>
<label asp-for="Review">Your Review:</label>
<textarea asp-for="Review"></textarea>
</p>
<p>
<label asp-for="Mark">Your Mark:</label>
<input type="number" min="1" max="10" asp-for="Mark" required/>
</p>
<button type="submit">Submit</button>

</form>
</body>
</html>

ListView.cshtml
@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ListResponse</title>
</head>
<body>
<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
<th>Review</th>
<th>Mark</th>
</tr>
@foreach (PersonReview pr in Model)
{
<tr>
<td>@pr.Name</td>
<td>@pr.Email</td>
<td>@pr.Phone</td>
<td>@pr.Review</td>
<td>@pr.Mark</td>
</tr>
}

</table>
</body>
</html>

ThanksView.cshtml:
@model PersonReview
@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Thanks</title>
</head>
<body>
<h1>
Thank you, @Model.Name
</h1>
<p>
Click <a asp-action="List">here</a>
</p>
</body>
</html>

Program.cs:
var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllersWithViews();

var app = builder.Build();

app.UseStaticFiles();

app.UseRouting();

app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Entry}");

app.Run();

HomeController.cs:
using Microsoft.AspNetCore.Mvc;
using web_3.Models;

namespace web_3.Controllers
{
public class HomeController : Controller
{
public IActionResult Entry()
{
return View("EntryView");
}
[HttpGet]
public ViewResult Input()
{
return View("InputView");
}
[HttpPost]
public ViewResult Input(PersonReview pr)
{
if (ModelState.IsValid)
{
Repository.AddResponse(pr);
return View("ThanksView", pr);
}
else { return View("InputView"); }
}
public ViewResult List()
{
return View("ListView", Repository.responses);
}
}
}

Результат роботи програми

You might also like