例如,这是查看文件页面的屏幕截图,用于解释我的问题: 在此输入图片描述
当我点击第二个按钮 15 次时,第一个按钮变成红色,而不是第二个按钮。我想将我点击了 15 次的按钮设为红色。
我多次尝试使用chatgpt 解决该问题,但没有成功。在每种情况下,gpt 都会尝试解决问题,没有什么不同。我解释了这个问题,并尝试将其分成几部分,然后将 id 赋予按钮并使用这些 id 进行处理,但它再次不起作用。我将分享代码作为这篇文章的答案
AnasayfaController.cs(控制器):
using Azure.Core;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json;
using randevu.Data;
using randevu.Models;
namespace randevu.Controllers
{
public class AnasayfaController : Controller
{
private readonly randevuContext _context;
public AnasayfaController(randevuContext context)
{
_context = context;
}
public IActionResult Index()
{
return View();
}
//3286232862(admin şifresi)
[HttpPost]
public IActionResult Index(Kullanicidatalari kullanici, string userType)
{
var ogrenci = _context.Kullanicidatalari
.FirstOrDefault(k => k.kullanici_adi == kullanici.kullanici_adi && k.sifre == kullanici.sifre);
if (kullanici.kullanici_adi == "admin" && kullanici.sifre == "3286232862")
{
TempData["name"] = kullanici.kullanici_adi;
return RedirectToAction("ogretmensayfa");
}
else if (ogrenci != null)
{
TempData["kullaniciadi"] = kullanici.kullanici_adi;
return RedirectToAction("ogrencisayfa");
}
else {
return RedirectToAction("hataligiris");
}
}
public IActionResult ogretmengirisi()
{
return View();
}
[HttpPost]
public IActionResult ogretmengirisi(ogretmendatalari ogretmen, string userType)
{
var ogretmengiris = _context.ogretmendatalari.FirstOrDefault(k => k.kullanici_adi == ogretmen.kullanici_adi && k.sifre == ogretmen.sifre);
if(ogretmengiris != null)
{
TempData["ogretmenadi"] = ogretmen.kullanici_adi;
TempData["tckimlik"] = ogretmen.tcno;
TempData["email"]=ogretmen.email;
TempData["ders"] = ogretmen.ders;
TempData.Keep("ogretmenadi");
TempData.Keep("tckimlik");
TempData.Keep("email");
TempData.Keep("ders");
return RedirectToAction("ogretmenarayuzu");
}
else
{
return RedirectToAction("hataliogretmengirisi");
}
}
public IActionResult hataligiris()
{
return View();
}
public IActionResult ogrencisayfa(Kullanicidatalari kullanici) {
if (TempData["kullaniciadi"] != null)
{
ViewBag.KullaniciAdi = TempData["kullaniciadi"];
TempData.Keep("kullaniciadi");
var kullanicilar = _context.Kullanicidatalari.FirstOrDefault();
return View(kullanicilar);
}
else
{
return RedirectToAction("hataligiris");
}
}
public IActionResult ogretmensayfa()
{
var name = TempData["name"];
return View();
}
public async Task<IActionResult> ogretmenrandevubilgileri(Kullanicidatalari ogrenci)
{
return View(await _context.Kullanicidatalari.ToListAsync());
}
public async Task<IActionResult> ogretmenlerlistesi(ogretmendatalari ogretmen)
{
//ViewBag.KullaniciAdi = TempData.Peek("kullaniciadi");
if (TempData["kullaniciadi"] != null)
{
ViewBag.KullaniciAdi = TempData["kullaniciadi"];
TempData.Keep("kullaniciadi");
return View(await _context.ogretmendatalari.ToListAsync());
}
else
{
return RedirectToAction("hataligiris");
}
}
[HttpPost]
public IActionResult RandevuAl(int id, string saat, int clickCount)
{
var ogretmen = _context.ogretmendatalari.FirstOrDefault(o => o.Id == id);
if (ogretmen != null)
{
// Saat aralığını al
var saatler = ogretmen.musait_saat_araligi.Split(';');
// Tıklama sayısını al
var clickCounts = !string.IsNullOrEmpty(ogretmen.randevu_click_sayisi) && ogretmen.randevu_click_sayisi.Split(';').Length == saatler.Length
? ogretmen.randevu_click_sayisi.Split(';').Select(int.Parse).ToList()
: new List<int>(new int[saatler.Length]);
// İlgili saatin indeksini bul
var index = Array.IndexOf(saatler, saat);
if (index != -1)
{
// Tıklama sayısını güncelle
clickCounts[index] = clickCount;
// Tıklama sayısı 15'e ulaştığında butonu kırmızıya çevir
if (clickCounts[index] >= 15)
{
// Tıklama sınırını kontrol ediyoruz
}
// Güncellenmiş tıklama sayısını veritabanına kaydet
ogretmen.randevu_click_sayisi = string.Join(";", clickCounts);
_context.SaveChanges();
}
}
return Json(new { success = true });
}
public IActionResult hataliogretmengirisi()
{
return View();
}
public IActionResult ogretmenarayuzu(ogretmendatalari ogretmen)
{
var ogretmenler = _context.ogretmendatalari.FirstOrDefault();
return View(ogretmenler);
}
public async Task<IActionResult> randevularim()
{
return View(await _context.ogretmendatalari.ToListAsync());
}
}
}