main
syneffort 2 years ago
parent 6589b90e70
commit dc11a29d4d
  1. 36
      BlazorApp/AspNetCoreMVC/Controllers/HomeController.cs
  2. 10
      BlazorApp/AspNetCoreMVC/Models/Models.cs
  3. 26
      BlazorApp/AspNetCoreMVC/Program.cs
  4. 29
      BlazorApp/AspNetCoreMVC/Views/Home/Sample.cshtml

@ -4,6 +4,8 @@ using System.Diagnostics;
namespace AspNetCoreMVC.Controllers namespace AspNetCoreMVC.Controllers
{ {
//[Route("Home")]
[Route("[controller]")] // 컨트롤러 이름 자동으로 따라감
public class HomeController : Controller public class HomeController : Controller
{ {
private readonly ILogger<HomeController> _logger; private readonly ILogger<HomeController> _logger;
@ -38,6 +40,40 @@ namespace AspNetCoreMVC.Controllers
return View(viewModel); return View(viewModel);
} }
[HttpPost("Post")]
public IActionResult PostOnly()
{
return Ok(1);
}
[Route("Test")] // 컨트롤러 하위 상대경로
[Route("/TestSecret")] // 절대경로
public IEnumerable<string> ApiTest()
{
List<string> names = new List<string>()
{
"Four", "Five", "Six", "Seven"
};
return names;
}
public IActionResult Sample()
{
SampleViewModel viewModel = new SampleViewModel()
{
Id = 1005,
Count = 2
};
return View(viewModel);
}
public IActionResult BuyItem(int id, int count)
{
return View();
}
public IActionResult Test1(int id, [FromHeader] string value) public IActionResult Test1(int id, [FromHeader] string value)
{ {
return null; return null;

@ -15,4 +15,14 @@ namespace AspNetCoreMVC.Models
{ {
public List<string> Names { get; set; } public List<string> Names { get; set; }
} }
public class SampleViewModel
{
[Required]
[Display(Name = "Product ID to purchase")]
public int Id { get; set; }
[Range(1, 10, ErrorMessage = "Value should be in 1 ~ 10!")]
[Display(Name = "Count")]
public int Count { get; set; }
}
} }

@ -29,18 +29,20 @@ namespace AspNetCoreMVC
app.UseAuthorization(); app.UseAuthorization();
app.MapControllerRoute( //app.MapControllerRoute(
name: "test", // name: "test",
pattern: "api/{controller=Home}/{action=Privacy}/{test:int?}"); // pattern: "api/{controller=Home}/{action=Privacy}/{test:int?}");
app.MapControllerRoute( //app.MapControllerRoute(
name: "default", // name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"); // pattern: "{controller=Home}/{action=Index}/{id?}");
app.MapControllerRoute( //app.MapControllerRoute(
name: "wildcard", // name: "wildcard",
pattern: "{*wildcard}", // pattern: "{*wildcard}",
defaults: new { controller = "Home", action = "Error" }); // defaults: new { controller = "Home", action = "Error" });
app.MapControllers();
app.Run(); app.Run();
} }

@ -0,0 +1,29 @@
@model SampleViewModel
@{
ViewData["Title"] = "Buy Item Sample";
}
@section Scripts {
@Html.Partial("_ValidationScriptsPartial");
}
<h1>Buy Item Sample</h1>
<form asp-controller="Home" asp-action="BuyItem" asp-route-id="@Model.Id" asp-route-count="@Model.Count">
<div class="form-group">
<label asp-for="Id"></label>
<input class="form-control" asp-for="Id" />
<span asp-validation-for="Id"></span>
</div>
<div class="form-group">
<label asp-for="Count"></label>
<input class="form-control" asp-for="Count" />
<span asp-validation-for="Count"></span>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
<div asp-validation-summary="All"></div>
</form>
Loading…
Cancel
Save