none
+1 arttırma ile ilgili soru. RRS feed

  • Soru

  • Belki çok basit bir sorundur, ama çözemedim!

    MVC öğrenmeye çalışıyorum ve bazen takıldığım noktalar oluyor.

    Örnek vermek gerekirse, cs tarafında statik bir fonksiyonda değeri 0 olan bir değişkeni +1 arttırıp div id ve birtakım yerlere ekliyorum. Fakat sayfayı her refresh yaptığımda, bu değer sürekli +1 artıyor. Ben refresh sonrası da değerin aynı şekilde kalmasını istiyorum çünkü aynı anda js ile cookie içine yazıyorum. Fakat sayfa resfesh olunca bu değer arttığı için cookie kontrolünü yapmama engel oluyor.

    Aşağıdaki kodlardaki, mm değişkenin sayfa refresh olduğunda artmasını engellemek için ne yapmam gerekiyor? Giriş seviyesinde biri için, basit bir örnek vererek yardımcı olabilir misiniz

    public class ThemeBlocks
    {
        private static string catHide = "block";
        private static string catImg = "min";
        private static string catAlt = "kapat";
        private static string nXnY00 = "";
        private static string nXnY01 = "XveyaY";
        private static int mm = 0;
    
        public static string TemaBlok_Acik(string stTemaBaslik, string stTemaMM)
        {
            catHide = "block";
            catImg = "min";
            catAlt = "Kapat";
            mm = (mm + 1);
    
            string returnHtml = "";
            returnHtml += "<div class=\"ST_TemaBlock\">" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_ust_sag\">" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_ust_sol\">" + Environment.NewLine;
            if (stTemaBaslik.Trim() == "")
            {
                returnHtml += "<div class=\"ST_TemaBlock_ust_orta_basliksiz\">" + Environment.NewLine;
            }
            else
            {
                returnHtml += "<div class=\"ST_TemaBlock_ust_orta\">" + Environment.NewLine;
                if (stTemaMM.Trim() != "")
                {
                    returnHtml += showMM(stTemaMM, mm, nXnY00);
                }
                returnHtml += stTemaBaslik + Environment.NewLine;
            }
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_orta_sol\" id=\"" + stTemaMM + mm + "\" style=\"display: " + catHide + ";\">" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_orta_sag\">" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_icerik\">" + Environment.NewLine;
    
            stTemaMM = "";
            return returnHtml;
        }
        public static string TemaBlok_Kapali()
        {
            string returnHtml = "";
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_alt_sol\">" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_alt_sag\">" + Environment.NewLine;
            returnHtml += "<div class=\"ST_TemaBlock_alt_orta\"></div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            returnHtml += "</div>" + Environment.NewLine;
            return returnHtml;
        }
        private static string showMM(string nam, int num, string nXveyaYn)
        {
            string strUniqueID = ConfigurationManager.AppSettings["cookieID"];
            HttpCookie cookie = new HttpCookie(cookieID + "hide");
    
            if (cookie.Values[nam + num] != "")
            {
                if (cookie.Values[nam + num] == "1")
                {
                    catHide = "none";
                    catImg = "max";
                    catAlt = "aç";
                }
                else
                {
                    catHide = "block";
                    catImg = "min";
                    catAlt = "kapat";
                }
            }
    
            string returnHtml = "";
            if (nXveyaYn != "")
            {
                returnHtml += "<span class=\"ST_TemaBlock_MinMax_" + nXveyaYn + "\"><img id=\"" + nam + num + "Img\" src=\"/App_Themes/st2007/block/icon_" + catImg + ".gif\" onClick=\"mwpHSx('" + nam + num + "');\" style=\"cursor: pointer;\" alt=\"" + catAlt + "\" title=\"" + catAlt + "\"></span>" + Environment.NewLine;
            }
            else
            {
                returnHtml += "<span class=\"ST_TemaBlock_MinMax\"><img id=\"" + nam + num + "Img\" src=\"/App_Themes/st2007/block/icon_" + catImg + ".gif\" onClick=\"mwpHSx('" + nam + num + "');\" style=\"cursor: pointer;\" alt=\"" + catAlt + "\" title=\"" + catAlt + "\"></span>" + Environment.NewLine;
            }
            return returnHtml;
        }
    }


    • Düzenleyen mbilgi 30 Aralık 2014 Salı 20:45
    30 Aralık 2014 Salı 20:44

Yanıtlar

  • Evet doğru, View içinde razor ile spagetti code yazabiliyorsunuz, Yukarıdaki yapmak istediğinizi tam anlamadım ama çok zahmetli bişeye benziyor. MVC kolaylık ve rahatlık sağlar, yukarıdaki mantığı biran önce terketmenizi öneririrm. Bu tarz bişeye yine de ihtiyacınız olursa TagBuilder classını inceleyin.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen mbilgi 31 Aralık 2014 Çarşamba 11:20
    31 Aralık 2014 Çarşamba 08:12
    Moderatör

Tüm Yanıtlar

  • sayfayı yenilenince artmakla kalmaz siteye kaç farklı kişi girerse o kadar artar :) ...

    bu şeylerin(!) MVC olduğunu düşünüyorsanız aldanıyorsunuz. Razor diye bişey duydunuz mu? Ya da Layout?


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    30 Aralık 2014 Salı 22:00
    Moderatör
  • Merhaba Önay Yalçıner,

    Bazı şeylerin mantığını kafamda tam olarak kurmuş değilim ve deneme yanılma yollarıyla ufak tefek testler yapıp bazı sonuçlara ulaşmaya çalışıyorum. Yorumunuzdan da anladığım kadarıyla bu kodu view tarafında yapmak gerek.

    Yanlış anladıysam düzeltin lütfen.

    31 Aralık 2014 Çarşamba 00:33
  • Evet doğru, View içinde razor ile spagetti code yazabiliyorsunuz, Yukarıdaki yapmak istediğinizi tam anlamadım ama çok zahmetli bişeye benziyor. MVC kolaylık ve rahatlık sağlar, yukarıdaki mantığı biran önce terketmenizi öneririrm. Bu tarz bişeye yine de ihtiyacınız olursa TagBuilder classını inceleyin.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen mbilgi 31 Aralık 2014 Çarşamba 11:20
    31 Aralık 2014 Çarşamba 08:12
    Moderatör