ورود

View Full Version : تعیین صفحه پیش فرض برنامه



mmbguide
جمعه 10 تیر 1401, 22:25 عصر
سلام و دوستان

در پروژه Asp.net core 6 یک صحفه پیش فرض وجود داره. چطور میشه تغییرش داد؟ من EndPoint را بصورت زیر تعریف کردم:


app.UseEndpoints(endpoints =>
endpoints.MapControllerRoute(
name: "default",
pattern: "/{controller=Home}/{action=Index}/{id?}")
);


و در پوشه Pages در روت برنامه یک صفحه به اسم Default.cshtml ساختم. یک Controller با نام HomeController در پوشه Controllers ایجاد کردم که فقط یک متد Index داره. حالا برنامه را که اجرا میکنم باز هم همان صفحه پیش فرض برنامه را که قبلا بود را داره نشان میده. لطفا راهنمایی کنید.

تشکر

mmbguide
یک شنبه 12 تیر 1401, 20:22 عصر
سلام دوستان

گویا بصورت پیش فرض در پوشه Pages به دنبال Pageی با نام Index میگرده و اون را اجرا میکنه. مورد اول اینکه احتمالا باید از طریق روشی که در لینک زیر معرفی شده این Page را تغییر داد:

https://stackoverflow.com/questions/55008742/net-core-looking-through-views-instead-of-pages

اما اگر بخواهیم در پوشه Views به دنبال View مورد نظر بگرده باید چکار کنیم؟ EndPoint را هم مطابق کدهای پست قبلی تنظیم کردم و Controller و Action مورد نظر را هم ایجاد کزدم ولی نمی تونم در شروع برنامه Action خودم را اجرا کنم.

mmbguide
سه شنبه 14 تیر 1401, 22:59 عصر
سلام دوستان
ابتدا دو سرویس را بصورت زیر تنظیم کردم:


//builder.Services.AddRazorPages();
builder.Services.AddControllersWithViews();

سپس میان افزارها را بصورت زیر تنظیم کردم:

app.UseRouting();
app.UseEndpoints(configure =>
{
configure.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"
);
});
//app.MapRazorPages();

در واقع سرویس و میان افزار Razor را غیر فعال کردم و برنامه از HomeController و Index Action در شروع برنامه استفاده کرد.