added asp-controller to editserver.cshtml + using id in edtiserver as hidden
This commit is contained in:
@@ -96,24 +96,34 @@ public class ServerController : Controller
|
|||||||
[ValidateAntiForgeryToken]
|
[ValidateAntiForgeryToken]
|
||||||
public async Task<IActionResult> EditServer(int id, EditServerViewModel vm)
|
public async Task<IActionResult> EditServer(int id, EditServerViewModel vm)
|
||||||
{
|
{
|
||||||
if (ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
{
|
{
|
||||||
|
return View(vm);
|
||||||
|
}
|
||||||
|
|
||||||
var server = await _context.Servers.FindAsync(id);
|
var server = await _context.Servers.FindAsync(id);
|
||||||
if (server == null) return NotFound();
|
if (server == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
server.Name = vm.Name;
|
server.Name = vm.Name;
|
||||||
server.IPAddress = vm.IPAddress;
|
server.IPAddress = vm.IPAddress;
|
||||||
server.Type = vm.Type;
|
server.Type = vm.Type;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
await _context.SaveChangesAsync();
|
await _context.SaveChangesAsync();
|
||||||
|
|
||||||
_logger.LogInformation("Server '{server}' erfolgreich aktualisiert", server.Name);
|
_logger.LogInformation("Server '{server}' erfolgreich aktualisiert", server.Name);
|
||||||
|
|
||||||
return RedirectToAction(nameof(Overview));
|
return RedirectToAction(nameof(Overview));
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Fehler beim Speichern des Servers");
|
||||||
|
ModelState.AddModelError("", "Fehler beim Speichern");
|
||||||
return View(vm);
|
return View(vm);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// GET: Server/Details/5
|
// GET: Server/Details/5
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
|
@@ -1,10 +1,19 @@
|
|||||||
namespace Watcher.ViewModels;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace Watcher.ViewModels
|
||||||
|
{
|
||||||
public class EditServerViewModel
|
public class EditServerViewModel
|
||||||
{
|
{
|
||||||
public string Name { get; set; } = string.Empty;
|
public int Id { get; set; }
|
||||||
|
|
||||||
public string IPAddress { get; set; } = string.Empty;
|
[Required(ErrorMessage = "Name ist erforderlich")]
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
public string Type { get; set; } = "VPS";
|
[Required(ErrorMessage = "IP-Adresse ist erforderlich")]
|
||||||
|
[RegularExpression(@"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$", ErrorMessage = "Ungültige IP-Adresse")]
|
||||||
|
public string IPAddress { get; set; }
|
||||||
|
|
||||||
|
[Required(ErrorMessage = "Typ ist erforderlich")]
|
||||||
|
public string Type { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,4 +1,4 @@
|
|||||||
@model Watcher.ViewModels.EditServerViewModel;
|
@model Watcher.ViewModels.EditServerViewModel
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Server bearbeiten";
|
ViewData["Title"] = "Server bearbeiten";
|
||||||
@@ -6,24 +6,26 @@
|
|||||||
|
|
||||||
<h2>Server bearbeiten</h2>
|
<h2>Server bearbeiten</h2>
|
||||||
|
|
||||||
<form asp-action="EditServer" method="post">
|
<form asp-action="EditServer" asp-controller="Server" method="post">
|
||||||
@Html.AntiForgeryToken()
|
@Html.AntiForgeryToken()
|
||||||
|
<input type="hidden" asp-for="Id" />
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label asp-for="Name"></label>
|
<label asp-for="Name"></label>
|
||||||
<input asp-for="Name" class="form-control" />
|
<input asp-for="Name" class="form-control" />
|
||||||
|
<span asp-validation-for="Name" class="text-danger"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label asp-for="IPAddress"></label>
|
<label asp-for="IPAddress"></label>
|
||||||
<input asp-for="IPAddress" class="form-control" />
|
<input asp-for="IPAddress" class="form-control" />
|
||||||
</div>
|
<span asp-validation-for="IPAddress" class="text-danger"></span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label asp-for="Type"></label>
|
<label asp-for="Type"></label>
|
||||||
<input asp-for="Type" class="form-control" />
|
<input asp-for="Type" class="form-control" />
|
||||||
|
<span asp-validation-for="Type" class="text-danger"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="submit" class="btn btn-primary mt-3">Speichern</button>
|
<button type="submit" class="btn btn-primary mt-3">Speichern</button>
|
||||||
|
Reference in New Issue
Block a user