سلام بعد از زدن دکمه Submit خطای زیر رو دریافت می کنم.
This localhost page can’t be found
No webpage was found for the web address: https://localhost:44309/Category/Create?area=AdminPanel
HTTP ERROR 404
کدهایی که در View نوشته شده رو در ادامه قرار میدم.
@model a.Models.Category
<form asp-area="AdminPanel" asp-controller="Category" asp-action="Create" method="post">
<div class="form-group">
<label asp-for="Title"></label>
<input asp-for="Title" />
</div>
<div class="form-group">
<label asp-for="Description"></label>
<input asp-for="Description" />
</div>
<div class="form-group">
<input type="submit" value="ایجاد" class="btn btn-success" />
<a asp-action="Index" class="btn btn-danger">بازگشت</a>
</div>
</form>
خطای شما در این لینک قبلا بهش پاسخ داده شده. اما مجددا یک توضیحی براتون میدم. دستوراتی که شما در view نوشتید ظاهرا درست هست.
<form asp-area="AdminPanel" asp-controller="Category" asp-action="Create" method="post">
...
</form>
وقتی شما روی دکمه submit اطلاعات کلیک می کنید باید به آدرس زیر برنامه هدایت بشه.
https://localhost:44309/AdminPanel/Category/Create
اما اگر خطای Http Error 404 دریافت می کنید احتمالا خطا در جای دیگه ای هست. بنابراین موارد زیر رو به ترتیب چک کنید.
خب اول باید مطمئن بشید که در فایل startup.cs و در متد Configure مسیر برای AdminPanel تعریف کردید. در کدهای زیر این کار رو انجام دادیم.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
//For Area
app.UseMvc(routes =>
{
routes.MapRoute(
name: "AdminPanel",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
در کدهای بالا یک Area به نام AdminPanel و یک مسیر برای این ناحیه تعریف کردیم. دقت کنید این کدها برای Core نسخه 2.2 می باشد. (مسیریابی در Core 2 و Core 3)
در مرحله بعد وقتی مطمئن شدید که مسیر Area به درستی تعریف شده حالا باید مطمئن بشید که در بالای کنترلر از Atrribute مربوط به Area استفاده کردید.
[Area("AdminPanel")]
public class CategoryController : Controller
{
[HttpPost]
public IActionResult Create(Category model)
{
return View();
}
}
همچنین دقت کنید که حتما در کنترلر یک اکشن با نام Create و با ویژگی HttpPost باید داشته باشید.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
77
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
215
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
397
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
568
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
77
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
598
- پاسخ :
1
|