Quil İle Rich Text Editör
--LAYOUT HEAD KISMI--
<!-- Quill'in CSS dosyasını ekle -->
<link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
<!-- Quill'in JS dosyasını ekle -->
<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
--CSHTML KISMI --
<!-- Body (Quill ile) -->
<div class="form-group">
<label asp-for="Body" class="control-label"></label>
<!-- Quill editörünü başlatacağımız div -->
<div id="editor" style="height: 200px;"></div>
<!-- Gizli input alanı, form gönderildiğinde Quill içeriği buraya aktarılacak -->
<input type="hidden" asp-for="Body" id="hiddenContent" />
<span asp-validation-for="Body" class="text-danger"></span>
</div>
--CSHTML SCRİPTS KISMI--
<script>
var quill = new Quill('#editor', {
theme: 'snow'
});
var form = document.querySelector('form');
form.onsubmit = function () {
var content = document.querySelector('#hiddenContent');
content.value = quill.root.innerHTML;
};
</script>
23.09.2024 23:17:03
Entity ile Düzenleme ve Dialog olarak çıkartma
--CONTROLLER--
public IActionResult Edit(int id)
{
return View(_context.Todos.Find(id));
}
[HttpPost]
public IActionResult Edit(int id, string task)
{
var todo = _context.Todos.Find(id);
todo.Task = task;
todo.Updated = DateTime.Now;
//_context.Todos.Update(model);
_context.SaveChanges();
return RedirectToAction("index");
}
--VİEW--
<a href="/home/Edit/@todo.Id" class="edit btn btn-warning">Düzenle</a>
--VİEW SCRİPT--
<dialog id="dialog"></dialog>
@section Scripts {
<script>
document.querySelectorAll('.edit')
.forEach(x => x.addEventListener('click', handleEditClick));
function handleEditClick(e) {
e.preventDefault();
$('#dialog').load(this.href);
dialog.showModal();
}
</script>
}
--VİEW Edit.cshtml--
@model Todo
@{
Layout = null;
}
<form asp-action="Edit">
<input asp-for="Id" type="hidden" />
<input required asp-for="Task" />
<input asp-for="IsCompleted" type="hidden" />
<button class="btn btn-primary">Güncelle</button>
</form>
16.09.2024 16:29:04
Entity ile Silme
--CONTROLLER--
public IActionResult Delete(int id)
{
var todo = _context.Todos.Find(id);
if (todo != null)
{
_context.Todos.Remove(todo);
_context.SaveChanges();
}
TempData["Del"] = "Silinmiştir";
return RedirectToAction("index");
}
--VİEW--
<form method="post" action="/home/delete">
<input type="hidden" name="Id" value="@todo.Id" />
<button type="submit" onclick="return confirm('Emin misiniz?')" class="btn btn-danger btn-sm">Sil</button>
</form>
16.09.2024 16:25:51
Entity ile bool değer oluşturma
--Controller--
public IActionResult IsComplate(int id)
{
var todo = _context.Todos.Find(id);
if (todo != null)
{
todo.IsCompleted = !todo.IsCompleted;
_context.Todos.Update(todo);
_context.SaveChanges();
}
TempData["complate"] = "Güncellenmiştir";
return RedirectToAction("index");
}
--VİEW--
<td>@(todo.IsCompleted ? "Tamamlandı" : "Tamamlanmadı")</td>
<td>
<form method="post" action="/home/IsComplate">
<input type="hidden" name="Id" value="@todo.Id" />
<button type="submit" class="btn btn-primary btn-sm mb-2">Durum</button>
</form>
16.09.2024 16:23:53
Entity ile son eklenen tarihe göre sıralama
return View(_context.Codes.OrderByDescending(x => x.Created).ToList());
16.09.2024 16:17:27
Entity ile ekleme
public IActionResult Add(Code model)
{
if (ModelState.IsValid)
{
_context.Codes.Add(model);
_context.SaveChanges();
TempData["mesaj"] = "Yeni kod eklenmiştir";
}
return RedirectToAction("index");
16.09.2024 16:15:07
Süreli bildirim msjı
--CONTROLLER KISMI--
TempData["mesaj"] = "Yeni kod eklenmiştir";
--INDEX KISMI--
@if (TempData["mesaj"] != null)
{
<div class="alert alert-success text-center rounded-pill alert-custom" role="alert">
<strong>@TempData["mesaj"]</strong>
</div>
}
--INDEX SCRİPTS KISMI
@section Scripts{
<script>
$('.alert').delay(1500).fadeOut();
</script>
}
16.09.2024 14:31:13