با سلام و خسته نباشید خدمت دوستان و همکاران گرامی
یه وبسایت با کور نوشتم یه بخش تنظیمات میخوام اضافه کنم که تنها یک رکورد ثبت بشه
وقتی روی تنظیمات کلیک کنیم بتونیم "نام شرکت" یا "تلفن" و "آدرس" شرکت ثبت کنیم و بار بعدی وقتی فرم تنظیمات باز بشه این اطلاعات ذخیره شده باید لود بشن ، دوستان لطفا راهنمایی یا کد آماده اگر هست ممنون میشم در سایت قرار بدید.
با تشکر از شما و سایت پرس نت
توی آموزش زیر قسمت 81 نگاه کنید دقیقا همین کاری که شما می خواید رو انجام میدن.
پیاده سازی سایت خبری مشابه سایت 90
تصویر زیر رو ببینید
در تصویر بالا همونطوری که می بینید میتونیم عنوان سایت و بعضی از تنظیماتش زو مشخص کنیم و از اون ببعد طبق این تنظیمات اطلاعات نمایش داده میشن. این اطلاعات هم فقط یکبار ایجاد میشه و از دفعه بعدی فقط ویرایش میشه.
ابتدا یک جدول (کلاس) به نام SiteSetting به وجود بیاورید
public class SiteSetting
{
[Key]
public int id { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string CompanyName { get; set; }
}
خب حالا این جدول رو داخل DbContext پروژه هم ایجاد کنید و توسط یک مایگریشن این جدول رو در دیتابیس به وجود بیارید.
public class ApplicationDbContext : IdentityDbContext<ApplicationUsers,ApplicationRoles,string>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> option) : base(option)
{
}
public DbSet<SiteSetting> SiteSetting_Tbl { get; set; }
}
در کدهای بالا ما توی DbContext پروژه جدول SiteSetting_Tbl رو به وجود آوردیم.
نکته مهم : بعد از اینکه جدول SiteSetting_Tbl رو داخل Sql Server به وجود آوردید به صورت دستی اطلاعات جدول رو پر کنید. یعنی یک ردیف توش اطلاعات ثبت کنید. از این ببعد این رکورد رو ویرایش می کنیم فقط.
خب حالا یک کنترلر به نام SiteSetting و یک اکشن به نام Index هم به وجود بیارید. فیلدهایی که می خواید رو توی ویوی خودتون قرار بدید. مثلا فیلدهای زیر رو من قرار میدم. دقت کنید که کدهایی که براتون می نویسم باید شما تغییراتی بدید و نمونه هست.
@model ProjectName.Models.SiteSetting
<div>
<div>
<form asp-controller="SiteSetting" asp-action="setSetting" method="post">
<input asp-for="id" class="hidden">
<div class="form-group">
<label>نام شرکت</label>
<input asp-for="CompanyName" />
</div>
<div class="form-group">
<label>آدرس</label>
<div>
<textarea asp-for="Address"></textarea>
</div>
</div>
<div class="form-group">
<label>تلفن</label>
<div>
<input asp-for="Phone" />
</div>
</div>
<div class="form-group">
<input type="submit" value="ثبت اطلاعات" />
</div>
</form>
@if (ViewBag.SuccessMessage != "")
{
<span style="color:green;">
@ViewBag.SuccessMessage
</span>
}
</div>
</div>
خب حالا در بخش کنترلر و در کنترلر SiteSetting دستورات زیر رو می نویسیم.
[HttpPost]
public IActionResult setSetting(SiteSetting model)
{
if (ModelState.IsValid)
{
_context.SiteSettingRepositoryUW.Update(model);
_context.save();
ViewBag.SuccessMessage = "اطلاعات با موفقیت ویرایش شد";
}
return View("Index", model);
}
خب دستور بالا هم یک دستور ویرایش هست فقط. یعنی هیچ رکوردی رو ثبت نمی کنیم.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
78
- پاسخ :
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
- بازدید :
78
- پاسخ :
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
- بازدید :
599
- پاسخ :
1
|