我无法更新我的 mvc 项目中的按钮

问题描述 投票:0回答:1

例如,这是查看文件页面的屏幕截图,用于解释我的问题: 在此输入图片描述

当我点击第二个按钮 15 次时,第一个按钮变成红色,而不是第二个按钮。我想将我点击了 15 次的按钮设为红色。

我多次尝试使用chatgpt 解决该问题,但没有成功。在每种情况下,gpt 都会尝试解决问题,没有什么不同。我解释了这个问题,并尝试将其分成几部分,然后将 id 赋予按钮并使用这些 id 进行处理,但它再次不起作用。我将分享代码作为这篇文章的答案

c# asp.net asp.net-mvc web model-view-controller
1个回答
0
投票

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());
        }

        

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.