MVC Project
VS megnyitása-Create New Project-ASP.NET Core Web App (Model-View-Controller)
Project és Soultion name lehet ugyanaz.-.NET 5.0, Auth Type:Ind. Accounts – Create
- Model létrehozása: Models jobb klikk – add – pl.: Adatmodel.class
{
public int Id { get; set; }
[StringLength(60)]
[Display(Name = "Megnevezés")]
public string Megnevezes { get; set; }
[StringLength(60)]
[Display(Name = "Gyártó")]
public string Gyarto { get; set; }
[StringLength(30)]
[Display(Name = "Típus")]
public string Tipus { get; set; }
[Column(TypeName = "decimal(10,2)")]
[Display(Name = "Beszerzési ár")]
public decimal BeszerzesiAr { get; set; }
}
Controllers jobb klikk – Add – Controller - (MVC Controller with view, using Ent.Frame.) Model class – Adatmodel, Data control class – ApplicationDbContext (projectneve.Data) – Controller name – tetszőleges (RaktarController) – Add
Kereses létrehozása: Models mappa jobb klikk – add new class – (AruKereso.class) add
CodePudding user response:
First you need to add a new datamodel:
public class Arukereso
{
public string megnevezesKereses { get; set; }
public string tipusKereses { get; set; }
public SelectList tipusLista { get; set; }
public List<Adatmodel> Aru { get; set; }
}
then you need to add the function in the controller(index part) like this:
// GET: Adatmodels
public async Task<IActionResult> Index(string megnevezesKereses, string tipusKereses)
{
Arukereso keresoAru = new Arukereso();
var Aru = _context.Adatmodel.Select(x => x);
if (!string.IsNullOrEmpty(megnevezesKereses))
{
keresoAru.megnevezesKereses = megnevezesKereses;
Aru = Aru.Where(x => x.Megnevezes.Contains(megnevezesKereses));
}
if (!string.IsNullOrEmpty(tipusKereses))
{
keresoAru.tipusKereses = tipusKereses;
Aru = Aru.Where(x => x.Tipus.Equals(tipusKereses));
}
keresoAru.tipusLista = new SelectList(await _context.Adatmodel.Select(x => x.Tipus).Distinct().OrderBy(x=>x).ToListAsync());
keresoAru.Aru = await Aru.ToListAsync();
return View(keresoAru);
}
CodePudding user response:
MVC Project
VS megnyitása-Create New Project-ASP.NET Core Web App (Model-View-Controller)
Project és Soultion name lehet ugyanaz.-.NET 5.0, Auth Type:Ind. Accounts – Create
- Model létrehozása: Models jobb klikk – add – pl.: Adatmodel.class
public class Adatmodel
{
public int Id { get; set; }
[StringLength(60)]
[Display(Name = "Megnevezés")]
public string Megnevezes { get; set; }
[StringLength(60)]
[Display(Name = "Gyártó")]
public string Gyarto { get; set; }
[StringLength(30)]
[Display(Name = "Típus")]
public string Tipus { get; set; }
[Column(TypeName = "decimal(10,2)")]
[Display(Name = "Beszerzési ár")]
public decimal BeszerzesiAr { get; set; }
}
Controllers jobb klikk – Add – Controller - (MVC Controller with view, using Ent.Frame.) Model class – Adatmodel, Data control class – ApplicationDbContext (projectneve.Data) – Controller name – tetszőleges (RaktarController) – Add
Kereses létrehozása: Models mappa jobb klikk – add new class – (AruKereso.class) add
public class Arukereso
{
public string megnevezesKereses { get; set; }
public string tipusKereses { get; set; }
public SelectList tipusLista { get; set; }
public List<Adatmodel> Aru { get; set; }
}
- Controllers beállítása: – Controllerunk megnyitása – Index átalakítása!
// GET: Adatmodels
public async Task<IActionResult> Index(string megnevezesKereses, string tipusKereses)
{
Arukereso keresoAru = new Arukereso();
var Aru = _context.Adatmodel.Select(x => x);
if (!string.IsNullOrEmpty(megnevezesKereses))
{
keresoAru.megnevezesKereses = megnevezesKereses;
Aru = Aru.Where(x => x.Megnevezes.Contains(megnevezesKereses));
}
if (!string.IsNullOrEmpty(tipusKereses))
{
keresoAru.tipusKereses = tipusKereses;
Aru = Aru.Where(x => x.Tipus.Equals(tipusKereses));
}
keresoAru.tipusLista = new SelectList(await _context.Adatmodel.Select(x => x.Tipus).Distinct().OrderBy(x=>x).ToListAsync());
keresoAru.Aru = await Aru.ToListAsync();
return View(keresoAru);
}
[Authorize] hozzáadása Create, Edit, Delete
View-k Beállítása: Viewvs-Raktar-Index.cshtm
Első sor: @model ProjectNEVE.Models.Arukereso
KB. 30. sor:
<th>
@Html.DisplayNameFor(model => model.Aru[0].Megnevezes)
</th>
<th>
@Html.DisplayNameFor(model => model.Aru[0].Gyarto)
</th>
<th>
@Html.DisplayNameFor(model => model.Aru[0].Tipus)
</th>
<th>
@Html.DisplayNameFor(model => model.Aru[0].BeszerzesiAr)
</th>
Kb: 46. sor:
@foreach (var item in Model.Aru) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Megnevezes)
</td>
<td>
@Html.DisplayFor(modelItem => item.Gyarto)
</td>
<td>
@Html.DisplayFor(modelItem => item.Tipus)
</td>
<td>
@Html.DisplayFor(modelItem => item.BeszerzesiAr)
</td>
<td>
<a asp-action="Edit" asp-route-id="@item.Id" style="width:100px">Módosítás</a>
<a asp-action="Details" asp-route-id="@item.Id" style="width:100px">Részletek</a>
<a asp-action="Delete" asp-route-id="@item.Id" style="width:100px">Törlés</a>
</td>
</tr>
KB.: 12. sor p és a table közé
<form asp-controllers="Raktar" asp-action="Index" method="get">
Megnevezés:
<input asp-for="megnevezesKereses">
Beszállító:
<select asp-for="tipusKereses" asp-items="Model.tipusLista">
<option value="">Összes</option>
</select>
<input type="submit" value="Keresés">
</form>
- Add-Migration valami → update-database
-Startup fájl átírása : Controller=Home legyen controller=Raktar