Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Poznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Upozornění
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v zásadách podpory .NET a .NET Core. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Autor: Rick Anderson
Otevřete ovladač Movie a prozkoumejte metodu Details
:
// GET: Movies/Details/5
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
Modul generování uživatelského rozhraní MVC, který vytvořil tuto metodu akce, přidá komentář zobrazující požadavek HTTP, který vyvolá metodu. V tomto případě se jedná o požadavek GET se třemi segmenty adresy URL, Movies
kontrolerem, metodou Details
a id
hodnotou. Vzpomeňte si, že tyto segmenty jsou definovány v Program.cs
.
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
EF usnadňuje vyhledávání dat pomocí FirstOrDefaultAsync
metody. Důležitou bezpečnostní funkcí integrovanou do metody je, že kód ověří, že vyhledávací metoda našla film předtím, než se s ní pokusí něco udělat. Hacker může například na web zavést chyby změnou adresy URL vytvořené odkazy na http://localhost:{PORT}/Movies/Details/1
něco podobného http://localhost:{PORT}/Movies/Details/12345
(nebo jinou hodnotu, která nepředstavuje skutečný film). Pokud jste nekontrolovali video s hodnotou null, aplikace vyvolá výjimku.
Prozkoumejte metody Delete
a DeleteConfirmed
metody.
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var movie = await _context.Movie.FindAsync(id);
if (movie != null)
{
_context.Movie.Remove(movie);
}
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
Všimněte si, že HTTP GET Delete
metoda neodstraní zadaný film, vrátí zobrazení videa, kde můžete odeslat (HttpPost) odstranění. Provedení operace odstranění v reakci na požadavek GET (nebo v takovém případě, provedení operace úprav, operace vytvoření nebo jakákoli jiná operace, která mění data) otevře bezpečnostní díru.
Metoda [HttpPost]
, která odstraní data, je pojmenovaná DeleteConfirmed
tak, aby metodě HTTP POST poskytla jedinečný podpis nebo název. Níže jsou uvedeny dva podpisy metody:
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
Modul CLR (Common Language Runtime) vyžaduje, aby přetížené metody měly jedinečný podpis parametru (stejný název metody, ale jiný seznam parametrů). Tady ale potřebujete dvě Delete
metody – jednu pro GET a druhou pro POST – které mají stejný podpis parametru. (Oba musí jako parametr přijmout jedno celé číslo.)
Existují dva přístupy k tomuto problému, jeden je dát metodám různé názvy. To je to, co mechanismus generování uživatelského rozhraní udělal v předchozím příkladu. To ale představuje malý problém: ASP.NET mapuje segmenty adresy URL na metody akcí podle názvu a pokud metodu přejmenujete, směrování obvykle by tuto metodu nemohlo najít. Řešení je to, co vidíte v příkladu, což je přidání ActionName("Delete")
atributu do DeleteConfirmed
metody. Tento atribut provádí mapování pro směrovací systém tak, aby metoda našla DeleteConfirmed
adresu URL, která obsahuje /Delete/ pro požadavek POST.
Další běžnou prací pro metody, které mají identické názvy a podpisy, je uměle změnit podpis metody POST tak, aby zahrnoval další (nepoužitý) parametr. To jsme udělali v předchozím příspěvku, když jsme přidali notUsed
parametr. Pro metodu [HttpPost] Delete
byste mohli udělat totéž:
// POST: Movies/Delete/6
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id, bool notUsed)
Informace o nasazení do Azure najdete v kurzu: Sestavení aplikace ASP.NET Core a SQL Database ve službě Aplikace Azure Service.
Pokyny k vytvoření spolehlivé, zabezpečené, výkonné, testovatelné a škálovatelné aplikace ASP.NET Core najdete v vzorech podnikových webových aplikací. K dispozici je kompletní ukázková webová aplikace pro produkční kvalitu, která implementuje vzory.
Otevřete ovladač Movie a prozkoumejte metodu Details
:
// GET: Movies/Details/5
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
Modul generování uživatelského rozhraní MVC, který vytvořil tuto metodu akce, přidá komentář zobrazující požadavek HTTP, který vyvolá metodu. V tomto případě se jedná o požadavek GET se třemi segmenty adresy URL, Movies
kontrolerem, metodou Details
a id
hodnotou. Vzpomeňte si, že tyto segmenty jsou definovány v Program.cs
.
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
EF usnadňuje vyhledávání dat pomocí FirstOrDefaultAsync
metody. Důležitou bezpečnostní funkcí integrovanou do metody je, že kód ověří, že vyhledávací metoda našla film předtím, než se s ní pokusí něco udělat. Hacker může například na web zavést chyby změnou adresy URL vytvořené odkazy na http://localhost:{PORT}/Movies/Details/1
něco podobného http://localhost:{PORT}/Movies/Details/12345
(nebo jinou hodnotu, která nepředstavuje skutečný film). Pokud jste nekontrolovali video s hodnotou null, aplikace vyvolá výjimku.
Prozkoumejte metody Delete
a DeleteConfirmed
metody.
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var movie = await _context.Movie.FindAsync(id);
if (movie != null)
{
_context.Movie.Remove(movie);
}
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
Všimněte si, že HTTP GET Delete
metoda neodstraní zadaný film, vrátí zobrazení videa, kde můžete odeslat (HttpPost) odstranění. Provedení operace odstranění v reakci na požadavek GET (nebo v takovém případě, provedení operace úprav, operace vytvoření nebo jakákoli jiná operace, která mění data) otevře bezpečnostní díru.
Metoda [HttpPost]
, která odstraní data, je pojmenovaná DeleteConfirmed
tak, aby metodě HTTP POST poskytla jedinečný podpis nebo název. Níže jsou uvedeny dva podpisy metody:
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
Modul CLR (Common Language Runtime) vyžaduje, aby přetížené metody měly jedinečný podpis parametru (stejný název metody, ale jiný seznam parametrů). Tady ale potřebujete dvě Delete
metody – jednu pro GET a druhou pro POST – které mají stejný podpis parametru. (Oba musí jako parametr přijmout jedno celé číslo.)
Existují dva přístupy k tomuto problému, jeden je dát metodám různé názvy. To je to, co mechanismus generování uživatelského rozhraní udělal v předchozím příkladu. To ale představuje malý problém: ASP.NET mapuje segmenty adresy URL na metody akcí podle názvu a pokud metodu přejmenujete, směrování obvykle by tuto metodu nemohlo najít. Řešení je to, co vidíte v příkladu, což je přidání ActionName("Delete")
atributu do DeleteConfirmed
metody. Tento atribut provádí mapování pro směrovací systém tak, aby metoda našla DeleteConfirmed
adresu URL, která obsahuje /Delete/ pro požadavek POST.
Další běžnou prací pro metody, které mají identické názvy a podpisy, je uměle změnit podpis metody POST tak, aby zahrnoval další (nepoužitý) parametr. To jsme udělali v předchozím příspěvku, když jsme přidali notUsed
parametr. Pro metodu [HttpPost] Delete
byste mohli udělat totéž:
// POST: Movies/Delete/6
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id, bool notUsed)
Informace o nasazení do Azure najdete v kurzu: Sestavení aplikace ASP.NET Core a SQL Database ve službě Aplikace Azure Service.
Pokyny k vytvoření spolehlivé, zabezpečené, výkonné, testovatelné a škálovatelné aplikace ASP.NET Core najdete v vzorech podnikových webových aplikací. K dispozici je kompletní ukázková webová aplikace pro produkční kvalitu, která implementuje vzory.
Otevřete ovladač Movie a prozkoumejte metodu Details
:
// GET: Movies/Details/5
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
Modul generování uživatelského rozhraní MVC, který vytvořil tuto metodu akce, přidá komentář zobrazující požadavek HTTP, který vyvolá metodu. V tomto případě se jedná o požadavek GET se třemi segmenty adresy URL, Movies
kontrolerem, metodou Details
a id
hodnotou. Vzpomeňte si, že tyto segmenty jsou definovány v Program.cs
.
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
EF usnadňuje vyhledávání dat pomocí FirstOrDefaultAsync
metody. Důležitou bezpečnostní funkcí integrovanou do metody je, že kód ověří, že vyhledávací metoda našla film předtím, než se s ní pokusí něco udělat. Hacker může například na web zavést chyby změnou adresy URL vytvořené odkazy na http://localhost:{PORT}/Movies/Details/1
něco podobného http://localhost:{PORT}/Movies/Details/12345
(nebo jinou hodnotu, která nepředstavuje skutečný film). Pokud jste nekontrolovali video s hodnotou null, aplikace vyvolá výjimku.
Prozkoumejte metody Delete
a DeleteConfirmed
metody.
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var movie = await _context.Movie.FindAsync(id);
if (movie != null)
{
_context.Movie.Remove(movie);
}
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
Všimněte si, že HTTP GET Delete
metoda neodstraní zadaný film, vrátí zobrazení videa, kde můžete odeslat (HttpPost) odstranění. Provedení operace odstranění v reakci na požadavek GET (nebo v takovém případě, provedení operace úprav, operace vytvoření nebo jakákoli jiná operace, která mění data) otevře bezpečnostní díru.
Metoda [HttpPost]
, která odstraní data, je pojmenovaná DeleteConfirmed
tak, aby metodě HTTP POST poskytla jedinečný podpis nebo název. Níže jsou uvedeny dva podpisy metody:
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
Modul CLR (Common Language Runtime) vyžaduje, aby přetížené metody měly jedinečný podpis parametru (stejný název metody, ale jiný seznam parametrů). Tady ale potřebujete dvě Delete
metody – jednu pro GET a druhou pro POST – které mají stejný podpis parametru. (Oba musí jako parametr přijmout jedno celé číslo.)
Existují dva přístupy k tomuto problému, jeden je dát metodám různé názvy. To je to, co mechanismus generování uživatelského rozhraní udělal v předchozím příkladu. To ale představuje malý problém: ASP.NET mapuje segmenty adresy URL na metody akcí podle názvu a pokud metodu přejmenujete, směrování obvykle by tuto metodu nemohlo najít. Řešení je to, co vidíte v příkladu, což je přidání ActionName("Delete")
atributu do DeleteConfirmed
metody. Tento atribut provádí mapování pro směrovací systém tak, aby metoda našla DeleteConfirmed
adresu URL, která obsahuje /Delete/ pro požadavek POST.
Další běžnou prací pro metody, které mají identické názvy a podpisy, je uměle změnit podpis metody POST tak, aby zahrnoval další (nepoužitý) parametr. To jsme udělali v předchozím příspěvku, když jsme přidali notUsed
parametr. Pro metodu [HttpPost] Delete
byste mohli udělat totéž:
// POST: Movies/Delete/6
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id, bool notUsed)
Informace o nasazení do Azure najdete v kurzu: Sestavení aplikace ASP.NET Core a SQL Database ve službě Aplikace Azure Service.
Otevřete ovladač Movie a prozkoumejte metodu Details
:
// GET: Movies/Details/5
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
Modul generování uživatelského rozhraní MVC, který vytvořil tuto metodu akce, přidá komentář zobrazující požadavek HTTP, který vyvolá metodu. V tomto případě se jedná o požadavek GET se třemi segmenty adresy URL, Movies
kontrolerem, metodou Details
a id
hodnotou. Vzpomeňte si, že tyto segmenty jsou definovány v Program.cs
.
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
EF usnadňuje vyhledávání dat pomocí FirstOrDefaultAsync
metody. Důležitou bezpečnostní funkcí integrovanou do metody je, že kód ověří, že vyhledávací metoda našla film předtím, než se s ní pokusí něco udělat. Hacker může například na web zavést chyby změnou adresy URL vytvořené odkazy na http://localhost:{PORT}/Movies/Details/1
něco podobného http://localhost:{PORT}/Movies/Details/12345
(nebo jinou hodnotu, která nepředstavuje skutečný film). Pokud jste nekontrolovali video s hodnotou null, aplikace vyvolá výjimku.
Prozkoumejte metody Delete
a DeleteConfirmed
metody.
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var movie = await _context.Movie.FindAsync(id);
_context.Movie.Remove(movie);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
Všimněte si, že HTTP GET Delete
metoda neodstraní zadaný film, vrátí zobrazení videa, kde můžete odeslat (HttpPost) odstranění. Provedení operace odstranění v reakci na požadavek GET (nebo v takovém případě, provedení operace úprav, operace vytvoření nebo jakákoli jiná operace, která mění data) otevře bezpečnostní díru.
Metoda [HttpPost]
, která odstraní data, je pojmenovaná DeleteConfirmed
tak, aby metodě HTTP POST poskytla jedinečný podpis nebo název. Níže jsou uvedeny dva podpisy metody:
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
Modul CLR (Common Language Runtime) vyžaduje, aby přetížené metody měly jedinečný podpis parametru (stejný název metody, ale jiný seznam parametrů). Tady ale potřebujete dvě Delete
metody – jednu pro GET a druhou pro POST – které mají stejný podpis parametru. (Oba musí jako parametr přijmout jedno celé číslo.)
Existují dva přístupy k tomuto problému, jeden je dát metodám různé názvy. To je to, co mechanismus generování uživatelského rozhraní udělal v předchozím příkladu. To ale představuje malý problém: ASP.NET mapuje segmenty adresy URL na metody akcí podle názvu a pokud metodu přejmenujete, směrování obvykle by tuto metodu nemohlo najít. Řešení je to, co vidíte v příkladu, což je přidání ActionName("Delete")
atributu do DeleteConfirmed
metody. Tento atribut provádí mapování pro směrovací systém tak, aby metoda našla DeleteConfirmed
adresu URL, která obsahuje /Delete/ pro požadavek POST.
Další běžnou prací pro metody, které mají identické názvy a podpisy, je uměle změnit podpis metody POST tak, aby zahrnoval další (nepoužitý) parametr. To jsme udělali v předchozím příspěvku, když jsme přidali notUsed
parametr. Pro metodu [HttpPost] Delete
byste mohli udělat totéž:
// POST: Movies/Delete/6
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id, bool notUsed)
Informace o nasazení do Azure najdete v kurzu: Sestavení aplikace ASP.NET Core a SQL Database ve službě Aplikace Azure Service.
Otevřete ovladač Movie a prozkoumejte metodu Details
:
// GET: Movies/Details/5
public async Task<IActionResult> Details(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
Modul generování uživatelského rozhraní MVC, který vytvořil tuto metodu akce, přidá komentář zobrazující požadavek HTTP, který vyvolá metodu. V tomto případě se jedná o požadavek GET se třemi segmenty adresy URL, Movies
kontrolerem, metodou Details
a id
hodnotou. Vzpomeňte si, že tyto segmenty jsou definovány v Startup.cs
.
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
EF usnadňuje vyhledávání dat pomocí FirstOrDefaultAsync
metody. Důležitou bezpečnostní funkcí integrovanou do metody je, že kód ověří, že vyhledávací metoda našla film předtím, než se s ní pokusí něco udělat. Hacker může například na web zavést chyby změnou adresy URL vytvořené odkazy na http://localhost:{PORT}/Movies/Details/1
něco podobného http://localhost:{PORT}/Movies/Details/12345
(nebo jinou hodnotu, která nepředstavuje skutečný film). Pokud jste nekontrolovali video s hodnotou null, aplikace vyvolá výjimku.
Prozkoumejte metody Delete
a DeleteConfirmed
metody.
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
if (id == null)
{
return NotFound();
}
var movie = await _context.Movie
.FirstOrDefaultAsync(m => m.Id == id);
if (movie == null)
{
return NotFound();
}
return View(movie);
}
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
var movie = await _context.Movie.FindAsync(id);
_context.Movie.Remove(movie);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
Všimněte si, že HTTP GET Delete
metoda neodstraní zadaný film, vrátí zobrazení videa, kde můžete odeslat (HttpPost) odstranění. Provedení operace odstranění v reakci na požadavek GET (nebo v takovém případě, provedení operace úprav, operace vytvoření nebo jakákoli jiná operace, která mění data) otevře bezpečnostní díru.
Metoda [HttpPost]
, která odstraní data, je pojmenovaná DeleteConfirmed
tak, aby metodě HTTP POST poskytla jedinečný podpis nebo název. Níže jsou uvedeny dva podpisy metody:
// GET: Movies/Delete/5
public async Task<IActionResult> Delete(int? id)
{
// POST: Movies/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> DeleteConfirmed(int id)
{
Modul CLR (Common Language Runtime) vyžaduje, aby přetížené metody měly jedinečný podpis parametru (stejný název metody, ale jiný seznam parametrů). Tady ale potřebujete dvě Delete
metody – jednu pro GET a druhou pro POST – které mají stejný podpis parametru. (Oba musí jako parametr přijmout jedno celé číslo.)
Existují dva přístupy k tomuto problému, jeden je dát metodám různé názvy. To je to, co mechanismus generování uživatelského rozhraní udělal v předchozím příkladu. To ale představuje malý problém: ASP.NET mapuje segmenty adresy URL na metody akcí podle názvu a pokud metodu přejmenujete, směrování obvykle by tuto metodu nemohlo najít. Řešení je to, co vidíte v příkladu, což je přidání ActionName("Delete")
atributu do DeleteConfirmed
metody. Tento atribut provádí mapování pro směrovací systém tak, aby metoda našla DeleteConfirmed
adresu URL, která obsahuje /Delete/ pro požadavek POST.
Další běžnou prací pro metody, které mají identické názvy a podpisy, je uměle změnit podpis metody POST tak, aby zahrnoval další (nepoužitý) parametr. To jsme udělali v předchozím příspěvku, když jsme přidali notUsed
parametr. Pro metodu [HttpPost] Delete
byste mohli udělat totéž:
// POST: Movies/Delete/6
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Delete(int id, bool notUsed)
Informace o nasazení do Azure najdete v kurzu: Sestavení aplikace ASP.NET Core a SQL Database ve službě Aplikace Azure Service.
Zpětná vazba k produktu ASP.NET Core
ASP.NET Core je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Mistrovství Světa v Power BI DataViz
14. 2. 16 - 31. 3. 16
Se 4 šance na vstup, můžete vyhrát konferenční balíček a udělat to na LIVE Grand Finale v Las Vegas
Další informaceŠkolení
Modul
Vytvoření webového rozhraní API s řadiči ASP.NET Core - Training
Vytvořte službu RESTful s řadiči ASP.NET Core, které podporují operace vytváření, čtení, aktualizace a odstraňování (CRUD).
Certifikace
Microsoft Certifikát: Azure Vývojářský Asistent - Certifications
Vytvářejte ucelená řešení v Microsoft Azure pro vytváření funkcí Azure, implementaci a správu webových aplikací, vývoj řešení využívajících úložiště Azure a další.
Dokumentace
Část 7: Přidání vyhledávání do aplikace ASP.NET Core MVC
7. část série kurzů o ASP.NET Core MVC.
Část 8: Přidání nového pole do aplikace ASP.NET Core MVC
8. část série kurzů o ASP.NET Core MVC.
Část 6, metody kontroleru a zobrazení v ASP.NET Core
Část 6: Přidání modelu do aplikace ASP.NET Core MVC