1658585941
В приложениях ASP.NET Core можно перенаправить на определенный URL-адрес несколькими различными способами. В этой статье мы узнаем об этих методах и коде, необходимом для перенаправления запроса в ASP.NET Core.
Всегда будет потребность в перенаправлении на другой URL-адрес на основе некоторых условий, таких как перенаправление пользователя на страницу входа в систему, если нет действительного сеанса, перенаправление пользователей на домашнюю страницу при успешном входе в систему, перенаправление пользователя на экран смены пароля по истечении срока действия пароля. , перенаправление на страницу описания ошибки в случае неожиданного исключения и т.д.
Могут быть различные типы требований перенаправления, временные или постоянные с текущего URL-адреса на другой URL-адрес. В ASP.NET Core доступно несколько типов методов, с помощью которых мы можем перенаправить запрос в ASP.NET Core. Давайте подробно рассмотрим эти методы и разберемся, как запрашивать перенаправление в ASP.NET Core.
Методы, доступные в ASP.NET Core для перенаправления, следующие:
Каждый из вышеперечисленных методов имеет разные варианты с вариантами для постоянного или сохранения или обоих, т. е. PermanentPreserve для возврата различных статусов HTTP, таких как 302 — найдено или 301 — перемещено навсегда , или 307 — временное перенаправление или 308 — постоянное перенаправление .
Вышеуказанные методы возвращают различные типы результатов действий, такие как RedirectResult , RedirectToActionResult , RedirectToPageResult , RedirectToRouteResult и LocalRedirectResult . Все эти классы возвращаемого типа расширяют ActionResult, а также реализуют обычно используемый интерфейс IActionResult.
Этот код состояния означает, что URL-адрес запрошенного ресурса был временно перенаправлен и в будущих запросах он может быть изменен. Таким образом, клиенты должны продолжать использовать запрошенный URL
Этот код состояния означает, что URL-адрес запрошенного ресурса был изменен навсегда, и в ответе был указан новый URL-адрес.
Этот статус такой же, как 302 — обнаружен за исключением того, что пользовательский агент при вызове перенаправленного URL-адреса не должен изменять используемый метод HTTP, т.е. если в исходном запросе использовался POST, то POST должен использоваться и в перенаправленном URL-адресе.
Этот статус такой же, как 301 — Переместить навсегда, за исключением того, что пользовательский агент при вызове перенаправленного URL-адреса не должен изменять используемый метод HTTP, т.е. если в исходном запросе использовался POST, то POST должен использоваться и в перенаправленном URL-адресе.
Для демонстрации я использовал выпуск Visual Studio 2019 Community с .NET Core 5 для создания стандартного веб-приложения ASP.NET Core 5 MVC.
В демонстрационных целях я создал дополнительный контроллер PoliciesController и добавил к нему действие/представление с именем PrivacyPolicy.
Ниже приведен код контроллера (Controllers/PoliciesController.cs) и представления (Views/Policies/PrivacyPolicy.cshtml).
public class PoliciesController : Controller
{
public IActionResult PrivacyPolicy()
{
return View();
}
}
@{
ViewData["Title"] = "Policies on Privacy";
}
<h1>@ViewData["Title"]</h1>
<p>Use this page to detail your website's policy on privacy.</p>
Давайте подробно разберем каждый метод перенаправления, его использование, необходимость, тип возвращаемого значения и возвращаемый код состояния HTTP.
Метод перенаправления используется для перенаправления запроса в ASP.NET Core с одного URL-адреса на другой. Это можно использовать для перенаправления на основе некоторых условий. Этот метод является частью класса Controllerbase, поэтому он напрямую доступен для использования в классе контроллера. Он принимает URL-адрес в виде строки на входе.
Этот метод позволяет вам перенаправить на определенный URL-адрес, а не на какое-то действие в каком-либо контроллере. Этот URL-адрес может быть в приложении или также может быть URL-адресом какого-либо другого стороннего приложения.
Этот метод создает объект RedirectResult, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода Redirect в ASP.NET Core MVC.
public IActionResult Privacy()
{
return Redirect("~/Policies/PrivacyPolicy");
}
Приведенный выше код взят из действия «Конфиденциальность» в домашнем контроллере. Когда вы вызываете или вызываете действие конфиденциальности в домашнем контроллере, оно перенаправляет запрос на указанный URL-адрес, т.е. действие PrivacyPolicy в контроллере политик.
Когда вызывается URL Home/Privacy, он возвращает объект RedirectResult с кодом состояния HTTP как 302 — Found, а также устанавливает заголовок Location на целевой URL-адрес, указанный в методе Redirect() выше.
При обнаружении кода состояния HTTP в качестве 302 браузеры будут выполнять перенаправление на новые политики URL/PrivacyPolicy. Ниже показаны подробности из инструментов разработчика браузера (F12).
Далее мы узнаем о вариантах метода Redirect, которые доступны и поддерживаются в ASP.NET Core MVC.
Этот метод является разновидностью метода Redirect, который похож на redirect, но отличается кодом состояния HTTP, возвращаемым запросом. Метод RedirectPermanent возвращает код состояния HTTP 301 — перемещено навсегда. Этот код состояния HTTP означает, что запрошенный ресурс был окончательно перемещен на новый URL-адрес, указанный в заголовке Location.
Этот HTTP-статус 301 — Moved Permanently важен с точки зрения поисковых систем и инструментов, основанных на поисковой оптимизации.
Этот метод также является частью класса Controllerbase, поэтому он напрямую доступен для использования в классе контроллера. Он принимает URL-адрес в виде строки на входе.
Этот метод создает объект RedirectResult с постоянным флагом как true, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода RedirectPermanent в ASP.NET Core MVC.
public IActionResult Privacy()
{
return RedirectPermanent("~/Policies/PrivacyPolicy");
}
Как показано на рисунке ниже, на запрос Home/Privacy браузер получил код ответа 301 — перемещен навсегда с новым URL-адресом в заголовке Location.
При обнаружении кода состояния HTTP в качестве 301 браузеры будут выполнять перенаправление на новые политики URL/PrivacyPolicy.
Этот метод является разновидностью метода Redirect, который похож на redirect, но они отличаются кодом состояния HTTP, возвращаемым запросом, и этот метод также поддерживает метод запроса, т. е. он будет использовать тот же метод HTTP (get/post) и тело для перенаправления на новый URL-адрес в заголовке Location. RedirectPreserveMethod возвращает код состояния HTTP 307 — Temporary Redirect.
Этот метод также является частью класса Controllerbase, поэтому он напрямую доступен для использования в классе контроллера. Он принимает URL-адрес в виде строки на входе.
Этот метод создает объект RedirectResult с постоянным флагом false и флагом PreserveMethod со значением true, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода RedirectPreserveMethod в ASP.NET Core MVC.
public IActionResult Privacy()
{
return RedirectPreserveMethod("~/Policies/PrivacyPolicy");
}
Как показано на рисунке ниже, на запрос Home/Privacy браузер получил код ответа 307 — Temporary Redirect с новым URL-адресом в заголовке Location. При обнаружении кода состояния HTTP в качестве 307 браузеры будут выполнять перенаправление на новые политики URL/PrivacyPolicy.
Этот метод является разновидностью метода Redirect, который похож на redirect, но они отличаются кодом состояния HTTP, возвращаемым запросом, и этот метод также поддерживает метод запроса, т. е. он будет использовать тот же метод HTTP (get/post) и тело для перенаправления на новый URL-адрес в заголовке Location. RedirectPreserveMethod возвращает код состояния HTTP 308 — постоянное перенаправление.
Этот метод создает объект RedirectResult с постоянным флагом и флагом PreserveMethod как true, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода RedirectPermanentPreserveMethod в ASP.NET Core MVC.
public IActionResult Privacy()
{
return RedirectPermanentPreserveMethod("~/Policies/PrivacyPolicy");
}
Как показано на рисунке ниже, на запрос Home/Privacy браузер получил код ответа 308 — Redirect Permanent с новым URL-адресом в заголовке Location. При обнаружении кода состояния HTTP в качестве 308 браузеры будут выполнять перенаправление на новые Политики URL/PrivacyPolicy, а также постоянно сохранят текущий тип запроса (get/post).
Метод RedirectToAction используется для перенаправления запроса в ASP.NET Core с одного URL-адреса на другой. Это можно использовать для перенаправления на основе некоторых условий. Этот метод является частью класса Controllerbase, поэтому он напрямую доступен для использования в классе контроллера.
Этот метод используется для перенаправления на URL-адрес, который является внутренним для приложения и не может использоваться для внешних веб-приложений. В этом методе RedirectToAction вы можете указать имя действия вместе с именем контроллера и, если требуется, значения маршрута.
Вот в этой функции, если целевое действие от того же контроллера, то в этом случае мы можем даже пропустить имя контроллера и просто указать имя действия.
Этот метод создает объект RedirectToActionResult, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода RedirectToAction в ASP.NET Core MVC.
public IActionResult Privacy()
{
return RedirectToAction("PrivacyPolicy", "Policies");
}
Когда вызывается URL Home/Privacy, он возвращает объект RedirectToActionResult с кодом состояния HTTP как 302 — Found, а также устанавливает заголовок Location на целевой URL-адрес, указанный в методе RedirectToAction() выше.
При обнаружении кода состояния HTTP в качестве 302 браузеры будут выполнять перенаправление на новые политики URL/PrivacyPolicy. Ниже показаны подробности из инструментов разработчика браузера (F12).
Давайте разберемся с вариантами, доступными в методе RedirectToAction, и их использованием для перенаправления запроса в ASP.NET Core MVC.
RedirectToActionPermanent("PrivacyPolicy", "Policies")
RedirectToActionPreserveMethod("PrivacyPolicy", "Policies")
RedirectToActionPermanentPreserveMethod("PrivacyPolicy", "Policies")
Метод RedirectToRoute — это еще один метод перенаправления, который используется для перенаправления запроса в ASP.NET Core с одного URL-адреса на другой. Это можно использовать для перенаправления на основе некоторых условий. Этот метод является частью класса Controllerbase, поэтому он напрямую доступен для использования в классе контроллера.
В этом методе RedirectToAction вы можете указать значения Route, которые позволяют указать имя действия вместе с именем контроллера.
Этот метод создает объект RedirectToRouteResult, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода RedirectToRoute в ASP.NET Core MVC.
public IActionResult Privacy()
{
return RedirectToRoute(new { controller = "Policies", action = "PrivacyPolicy" });
}
Когда вызывается URL Home/Privacy, он возвращает объект RedirectToRouteResult с кодом состояния HTTP как 302 — Found, а также устанавливает заголовок Location на целевой URL-адрес, указанный в методе RedirectToRoute() выше.
При обнаружении кода состояния HTTP в качестве 302 браузеры будут выполнять перенаправление на новые политики URL/PrivacyPolicy. Ниже показаны подробности из инструментов разработчика браузера (F12).
Давайте разберемся с вариантами, доступными в методе RedirectToRoute, и их использованием для перенаправления запроса в ASP.NET Core MVC.
RedirectToRoutePermanent(new { controller = "Policies", action = "PrivacyPolicy" })
RedirectToRoutePreserveMethod("default", new { controller = "Policies", action = "PrivacyPolicy" })
RedirectToRoutePermanentPreserveMethod("default", new { controller = "Policies", action = "PrivacyPolicy" })
Метод LocalRedirect похож на метод Redirect тем, что он используется для перенаправления запроса в ASP.NET Core с одного URL-адреса на другой. Это можно использовать для перенаправления на основе некоторых условий. Этот метод является частью класса Controllerbase, поэтому он напрямую доступен для использования в классе контроллера.
Этот метод можно использовать для перенаправления только на локальный URL-адрес в вашем приложении, т. е. вы не можете указать внешний URL-адрес из какого-либо другого или стороннего приложения.
В этом методе LocalRedirect вы можете указать URL-адрес в виде строки, и если вы попытаетесь указать какой-либо внешний URL-адрес, например https://procodeguide.com, вы получите сообщение об ошибке, как показано ниже.
Этот метод создает объект LocalRedirectResult, который перенаправляет запрос на указанный URL-адрес.
В приведенном ниже коде показано использование метода LocalRedirect в ASP.NET Core MVC.
public IActionResult Privacy()
{
return LocalRedirect("~/Policies/PrivacyPolicy");
}
Когда вызывается URL Home/Privacy, он возвращает объект LocalRedirectResult с кодом состояния HTTP как 302 — Found, а также устанавливает заголовок Location на целевой URL-адрес, указанный в методе LocalRedirect() выше.
При обнаружении кода состояния HTTP в качестве 302 браузеры будут выполнять перенаправление на новые политики URL/PrivacyPolicy. Ниже показаны подробности из инструментов разработчика браузера (F12).
Давайте разберемся с вариантами, доступными в методе LocalRedirect, и их использованием для перенаправления запроса в ASP.NET Core MVC.
LocalRedirectPermanent("~/Policies/PrivacyPolicy")
LocalRedirectPreserveMethod("~/Policies/PrivacyPolicy")
LocalRedirectPermanentPreserveMethod("~/Policies/PrivacyPolicy")
Этот метод перенаправления запроса в ASP.NET Core предназначен для перенаправления на уровне Razor Pages. Это можно использовать для перенаправления на основе некоторых условий. Этот метод является частью базового класса PageModel, поэтому он напрямую доступен для использования в классе Razor Page.
В этом методе RedirectToPage вы можете указать имя страницы Razor в виде строки, и будет выполнено перенаправление на указанную страницу.
Обратите внимание, что это перенаправление предназначено для razor-страниц, поэтому для демонстрации я добавил в то же решение новый проект типа ASP.NET Core Web App с содержимым razor-страниц. В этот проект по умолчанию я добавил новую страницу PrivacyPolicy.cshtml. Полный исходный код доступен для справки, и ссылка на него приведена в конце этой статьи.
В приведенном ниже коде показано использование метода RedirectToPage в ASP.NET Core MVC.
public IActionResult OnGet()
{
return RedirectToPage("PrivacyPolicy");
}
Когда вызывается URL /Privacy, он возвращает объект RedirectToPageResult с кодом состояния HTTP как 302 — Found, а также устанавливает заголовок Location на целевой URL-адрес, указанный в методе RedirectToPage() выше.
Давайте разберемся с вариантами, доступными в методе RedirectToPage, и их использованием для перенаправления запроса в ASP.NET Core.
RedirectToPagePermanent("PrivacyPolicy")
RedirectToPagePreserveMethod("PrivacyPolicy")
RedirectToPagePermanentPreserveMethod("PrivacyPolicy")
В этой статье мы узнали о различных методах, доступных для перенаправления запроса в ASP.NET Core MVC. Мы рассмотрели 5 основных методов и их вариации для перенаправления запроса. Вы можете использовать эти методы в зависимости от ваших требований и добиться желаемого поведения.
Перенаправление запроса в ASP.NET Core — очень важный аспект, который будет использоваться в большинстве приложений ASP.NET Core MVC для различных сценариев.
Ссылка: https://procodeguide.com/programming/redirect-a-request-in-aspnet-core/
#dotnet #aps.net #aps.netcore #csharp
1602560783
In this article, we’ll discuss how to use jQuery Ajax for ASP.NET Core MVC CRUD Operations using Bootstrap Modal. With jQuery Ajax, we can make HTTP request to controller action methods without reloading the entire page, like a single page application.
To demonstrate CRUD operations – insert, update, delete and retrieve, the project will be dealing with details of a normal bank transaction. GitHub repository for this demo project : https://bit.ly/33KTJAu.
Sub-topics discussed :
In Visual Studio 2019, Go to File > New > Project (Ctrl + Shift + N).
From new project window, Select Asp.Net Core Web Application_._
Once you provide the project name and location. Select Web Application(Model-View-Controller) and uncheck HTTPS Configuration. Above steps will create a brand new ASP.NET Core MVC project.
Let’s create a database for this application using Entity Framework Core. For that we’ve to install corresponding NuGet Packages. Right click on project from solution explorer, select Manage NuGet Packages_,_ From browse tab, install following 3 packages.
Now let’s define DB model class file – /Models/TransactionModel.cs.
public class TransactionModel
{
[Key]
public int TransactionId { get; set; }
[Column(TypeName ="nvarchar(12)")]
[DisplayName("Account Number")]
[Required(ErrorMessage ="This Field is required.")]
[MaxLength(12,ErrorMessage ="Maximum 12 characters only")]
public string AccountNumber { get; set; }
[Column(TypeName ="nvarchar(100)")]
[DisplayName("Beneficiary Name")]
[Required(ErrorMessage = "This Field is required.")]
public string BeneficiaryName { get; set; }
[Column(TypeName ="nvarchar(100)")]
[DisplayName("Bank Name")]
[Required(ErrorMessage = "This Field is required.")]
public string BankName { get; set; }
[Column(TypeName ="nvarchar(11)")]
[DisplayName("SWIFT Code")]
[Required(ErrorMessage = "This Field is required.")]
[MaxLength(11)]
public string SWIFTCode { get; set; }
[DisplayName("Amount")]
[Required(ErrorMessage = "This Field is required.")]
public int Amount { get; set; }
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime Date { get; set; }
}
C#Copy
Here we’ve defined model properties for the transaction with proper validation. Now let’s define DbContextclass for EF Core.
#asp.net core article #asp.net core #add loading spinner in asp.net core #asp.net core crud without reloading #asp.net core jquery ajax form #asp.net core modal dialog #asp.net core mvc crud using jquery ajax #asp.net core mvc with jquery and ajax #asp.net core popup window #bootstrap modal popup in asp.net core mvc. bootstrap modal popup in asp.net core #delete and viewall in asp.net core #jquery ajax - insert #jquery ajax form post #modal popup dialog in asp.net core #no direct access action method #update #validation in modal popup
1602564619
User registration and authentication are mandatory in any application when you have little concern about privacy. Hence all most all application development starts with an authentication module. In this article, we will discuss the quickest way to use **ASP.NET Core Identity for User Login and Registration **in a new or existing MVC application.
Sub-topics discussed :
ASP.NET Core Identity is an API, which provides both user interface(UI) and functions for user authentication, registration, authorization, etc. Modules/ APIs like this will really be helpful and fasten the development process. It comes with ASP.NET Core Framework and used in many applications before. Which makes the API more dependable and trustworthy.
ASP.NET Core MVC with user authentication can easily be accomplished using Identity.UI. While creating the MVC project, you just need to select Authentication as Individual User Accounts.
The rest will be handled by ASP.NET Core Identity UI. It already contains razor view pages and backend codes for an authentication system. But that’s not what we want in most of the cases. we want to customize ASP.NET Core Identity as per our requirement. That’s what we do here.
First of all, I will create a brand new ASP.NET Core MVC application without any authentication selected. We could add ASP.NET Core Identity later into the project.
In Visual Studio 2019, Go to File > New > Project (Ctrl + Shift + N). From new project window, select ASP.NET Core Web Application.
Once you provide the project name and location. A new window will be opened as follows, Select _Web Application(Model-View-Controller), _uncheck _HTTPS Configuration _and DO NOT select any authentication method. Above steps will create a brand new ASP.NET Core MVC project.
#asp.net core article #asp.net core #add asp.net core identity to existing project #asp.net core identity in mvc #asp.net core mvc login and registration #login and logout in asp.net core
1583377668
#Asp.net core #Asp.net core mvc #Core #Asp.net core tutorials #Asp.net core with entity framework
1583378723
#Asp.net core #Asp.net core mvc #Core #Asp.net core tutorials #Asp.net core with entity framework
1602564706
In this article, you will learn how to use or integrate WordPress in ASP.NET and Running WordPress on ASP.NET Core, without PHP, or any source files on the server. The following demonstration will show you how to add WordPress as a frontend to an existing ASP.NET Core application step by step.
WordPress is a free, simplest, and most popular open-source content management system to create your own website or blog which is written in PHP and paired up with MySQL. WordPress on .Net Core is possible with peachpie, which is a compiler built on top of the Roslyn platform, it’s a set of runtime and base class libraries and everything that allows compiling a PHP project, a group of PHP files into a regular .net project.
Peachpie allows for seamless both-way interoperability between PHP and .NET applications. In simpler terms, this means that one can have some parts of an application written in PHP, while other modules are written in .NET and everything will work together as one application. Here is the original Repository of the WordPress SDK by PeachPie.
Here are the following steps to run WordPress with ASP.Net Core:-
Step1: Open your Visual Studio IDE and Create a new project – > ASP.NET Core Web Application
Step 2: Select Web Application: A project template for creating an ASP.Net Core application with example ASP.Net Razor Pages Content.
#.net core #asp.net #wordpress asp.net core #wordpress on asp.net core #wordpress with asp.net core