دسته بندی ها
08:11 1399/11/25

ذخیره اطلاعات به صورت html در دیتابیس در Asp.net Core

مشخصات سوال کننده :
کاربر : 2m74diba     امتیاز کاربر : ‎−6     رتبه کاربر : 7144
دسته بندی : Asp.net Core Css Html جاوا اسکریپت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 5560
هوش مصنوعی

پاسخ هوش مصنوعی

برای ذخیره یک جدول HTML در پایگاه داده با استفاده از ASP.NET Core، می توانید مراحل زیر را دنبال کنید:

1. **ایجاد مدل**: ابتدا مدل خود را برای ذخیره اطلاعات تعریف کنید. مثلاً یک مدل به نام `TableData` که شامل یک فیلد برای ذخیره HTML باشد:

public class TableData
{
    public int Id { get; set; }
    public string HtmlContent { get; set; }
}

2. **ایجاد View**: در View خود، از یک فرم برای جمع آوری اطلاعات استفاده کنید. می توانید از یک textarea برای ویرایش HTML استفاده کنید یا به صورت مصنوعی یک جدول بسازید:

<form asp-action="SaveTableData" method="post">
    <textarea name="HtmlContent" cols="30" rows="10"></textarea>
    <button type="submit">ذخیره</button>
</form>

3. **ایجاد Controller**: یک اکشن در Controller برای دریافت داده های فرم و ذخیره آنها در پایگاه داده ایجاد کنید:

public class TableDataController : Controller
{
    private readonly ApplicationDbContext _context;

    public TableDataController(ApplicationDbContext context)
    {
        _context = context;
    }

    [HttpPost]
    public async Task SaveTableData(string htmlContent)
    {
        var tableData = new TableData { HtmlContent = htmlContent };
        _context.TableData.Add(tableData);
        await _context.SaveChangesAsync();
        return RedirectToAction("Index"); // یا هر اکشن دیگری که می خواهید
    }
}

4. **نمایش داده ها**: هنگامی که نیاز به نمایش داده ها دارید، می توانید از `Html.Raw()` برای رندر کردن محتوای HTML استفاده کنید:

@model IEnumerable<YourNamespace.TableData>

<table>
    <tr>
        <th>محتوا</th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>@Html.Raw(item.HtmlContent)</td>
        </tr>
    }
</table>

با دنبال کردن این مراحل، شما می توانید اطلاعات جدول را به عنوان HTML در پایگاه داده ذخیره کرده و بعداً آن را نمایش دهید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 15:42 1399/11/25

ذخیره اطلاعات به صورت html در دیتابیس در Asp.net Core

بستگی داره که اطلاعات رو با چه چیزی به سمت کنترلر خودتون ارسال می کنید. به عنوان مثال اگر شما اطلاعات خودتون رو در یک input با تایپ text ذخیره می کنید خب نمیتونید به صورت Html ذخیره سازی رو انجام بدید.

<input type='text' id='txtname' />

 

اما اگر از یک Editor مثل CkEditor استفاده کنید می تونید هر متن یا جدول یا هر فرمتی که به متن خودتون میدید رو عینا و با تمامی فرمت ها در دیتابیس ذخیره کنید.

 

ضمنا اگر متن آماده یا جدول آماده ای دارید که میخواید با فرمت و با همه تگ های Html و css در دیتابیس ذخیره بشه باید از دستور زیر استفاده کنید.

@Html.Raw(HtmlUtility.SanitizeHtml(Model.Data))

 

توضیحاتتون خیلی کم بود و به همین خاطر به صورت کلی پاسخ رو براتون نوشتم.

به این پاسخ امتیاز بدهید    1
امتیاز: 518 رتبه: 4
2 نظر
2m74diba : ممنون من میخوام در پلاگین محتوای پیش فرض جدول بکشم و ذخیره کنم

امتیاز کاربر : ‎−6   رتبه کاربر : 7144   تاریخ ثبت : 11:47 1399/11/27
hamid_b : منظورتون از پلاگین محتوای پیش فرض نمیدونم چیه. سوالتون رو کامل و با جزییات بنویسید که نیاز نباشه مرتبا در ابهام جواب داد.

امتیاز کاربر : 518   رتبه کاربر : 4   تاریخ ثبت : 06:53 1399/11/27
پاسخ دهنده : saedbfd 03:02 1401/02/07

همونطور که دوستان گفتن منظورتون واضح نیست. شما میتونید یک ادیتور CkEditor رو توی View خودتون قرار بدید و جدول و یا هر چیزی که نیاز دارید رو استفاده کنید. البته اگر منظورتون اینه که در View خودتون یک جدول داشته باشید که اطلاعات اون توسط کاربر پر بشه میتونید یک تگ table به صورت زیر داشته باشید.

 

<table>
    <thead>
       <tr>
          <td>ردیف</td>
          <td>نام</td>
          <td>موبایل</td>
       </tr>
    </thead>
    <tbody>
      <tr>
          <td>@Counter</td>
          <td>
             <input type='text' id='txtname' />
          </td>
          <td>
             <input type='text' id='txtmobile' />
          </td>
       </tr>
    </tbody>
</table>

تقریبا چیزی مشابه جدول بالا رو باید در View خودتون داشته باشید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود