localized/ja/05-LanguagesAndFrameworks/WebApplication/Controllers/HomeController.cs (53 lines of code) (raw):

using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using WebApplication.Models; namespace WebApplication.Controllers { public class HomeController : Controller { private readonly ILogger<HomeController> _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } // 1. Navigate to view public IActionResult Index(int? id) { // <shortcut id="Go to Declaration or Usages">Ctrl+Click</shortcut> on View // Navigate to Index.cshtml, or definition of View method if (id == null) return View(); // <shortcut id="Go to Declaration or Usages">Ctrl+Click</shortcut> on string literal argument return View("Index"); } // 2. Create view from usage public IActionResult Details(int? id) { // View is marked as error, but code compiles // <shortcut id="Go to Declaration or Usages">Ctrl+Click</shortcut> navigates straight to definition of View method // <shortcut id="Show context actions">Alt+Enter</shortcut> to create view as .cshtml, .aspx, with layout, via VS wizard, etc. if (id == null) return View(); // View is marked as error, but code compiles // <shortcut id="Go to Declaration or Usages">Ctrl+Click</shortcut> navigates straight to definition of View method // <shortcut id="Show context actions">Alt+Enter</shortcut> to create view as .cshtml, .aspx, with layout, via VS wizard, etc. return View("MoreDetails"); } // 3. Code completion for views public IActionResult DoThing() { // Place text caret inside string literal // Invoke completion (<shortcut id="Basic Completion">Ctrl+Space</shortcut>) return View(""); } // 3. Code completion in RedirectToAction [HttpPost] public ActionResult Create(SampleModel model) { // a. Place text caret inside string literal for actionName // Invoke completion (<shortcut id="Basic Completion">Ctrl+Space</shortcut>) - suggests actions from this controller if (model == null) { // b. <shortcut id="Go to Declaration or Usages">Ctrl+Click</shortcut>on RedirectToAction method // Navigates to method or controller return RedirectToAction(actionName: ""); } // c. Place text caret inside string literal for actionName // Invoke completion (<shortcut id="Basic Completion">Ctrl+Space</shortcut>) - no suggestions // Place text caret inside string literal for controllerName // Invoke completion - suggests controllers // Place text caret inside string literal for actionName // Invoke completion - suggests actions for selected controller return RedirectToAction(actionName: "", controllerName: ""); // d. Navigate to action or controller // <shortcut id="Go to Declaration or Usages">Ctrl+Click</shortcut> on string literal to navigate } public IActionResult Privacy() { return View(); } [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View(new ErrorViewModel {RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier}); } } }