Читать книги » Книги » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 26 август 2023
Количество просмотров: 172
(18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
Читать онлайн

Язык программирования C#9 и платформа .NET5 читать книгу онлайн

Язык программирования C#9 и платформа .NET5 - читать онлайн , автор Троелсен Эндрю

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Перейти на страницу:

public <b>async Task&lt;IActionResult&gt;</b> ByMake(int makeId, string makeName)

{

  ViewBag.MakeName = makeName;

  return View(<b>await _serviceWrapper.GetCarsByMakeAsync(makeId)</b>);

}

[HttpGet(&quot;{id?}&quot;)]

public <b>async Task&lt;IActionResult&gt;</b> Details(int? id)

{

  if (!id.HasValue)

  {

    return BadRequest();

  }

  var car = await <b>GetOneCarAsync(id)</b>;

  if (car == null)

  {

    return NotFound();

  }

  return View(car);

}

[HttpGet]

public <b>async Task&lt;IActionResult&gt;</b> Create()

{

  ViewData[&quot;MakeId&quot;] = <b>await GetMakesAsync()</b>;

  return View();

}

[HttpPost]

[ValidateAntiForgeryToken]

public <b>async Task&lt;IActionResult&gt;</b> Create(Car car)

{

  if (ModelState.IsValid)

  {

    <b>await _serviceWrapper.AddCarAsync(car)</b>;

    return RedirectToAction(nameof(Index));

  }

  ViewData[&quot;MakeId&quot;] = <b>await GetMakesAsync()</b>;

  return View(car);

}

[HttpGet(&quot;{id?}&quot;)]

public <b>async Task&lt;IActionResult&gt;</b> Edit(int? id)

{

  <b>var car = await GetOneCarAsync(id)</b>;

  if (car == null)

  {

    return NotFound();

  }

  ViewData[&quot;MakeId&quot;] = <b>await GetMakesAsync()</b>;

  return View(car);

}

[HttpPost(&quot;{id}&quot;)]

[ValidateAntiForgeryToken]

public <b>async Task&lt;IActionResult&gt;</b> Edit(int id, Car car)

{

  if (id != car.Id)

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  {

    return BadRequest();

  }

  if (ModelState.IsValid)

  {

    <b>await _serviceWrapper.UpdateCarAsync(id,car)</b>;

    return RedirectToAction(nameof(Index));

  }

  ViewData[&quot;MakeId&quot;] = <b>await GetMakesAsync()</b>;

  return View(car);

}

[HttpGet(&quot;{id?}&quot;)]

public <b>async Task&lt;IActionResult&gt;</b> Delete(int? id)

{

<b>  var car = await GetOneCarAsync(id);</b>

  if (car == null)

  {

    return NotFound();

  }

  return View(car);

}

[HttpPost(&quot;{id}&quot;)]

[ValidateAntiForgeryToken]

public <b>async Task&lt;IActionResult&gt;</b> Delete(int id, Car car)

{

<b>  await _serviceWrapper.DeleteCarAsync(id,car);</b>

  return RedirectToAction(nameof(Index));

}

Обновление компонента представления

В текущий момент внутри компонента представления MenuViewComponent применяется уровень доступа к данным и синхронная версия Invoke(). Внесите в класс следующие изменения:

using System.Linq;

<b>using System.Threading.Tasks;</b>

using AutoLot.Dal.Repos.Interfaces;

<b>using AutoLot.Services.ApiWrapper;</b>

using Microsoft.AspNetCore.Mvc;

using Microsoft.AspNetCore.Mvc.ViewComponents;

namespace AutoLot.Mvc.ViewComponents

{

  public class MenuViewComponent : ViewComponent

  {

<b>    private readonly IApiServiceWrapper _serviceWrapper;</b>

<b>    public MenuViewComponent(IApiServiceWrapper serviceWrapper)</b>

<b>    {</b>

<b>      _serviceWrapper = serviceWrapper;</b>

Перейти на страницу:
Комментарии (0)