• 6 odgovora
  • 3.959 pregleda
Razor i JQuery kombinacija 28.04.2015. u 09:49 · pre 139 meseci #1
Pozdrav!

Kada kombinujem Razor i JQuery imam jedan problem.

U delu koda

Code:
@{
                   
                    if (User.IsInRole("BriseDodeluSvoju"))
                                                
                    {                                                                        
                   
                 
                      @:if ($(this).parent().parent().find('td:eq(9)').text().trim() === $(username).text()) 
                      
                           {

                             @: UpisiDodeluTiktaKorisnicima( $(this).parent().parent().find('td:eq(1)').text().trim(), ''   );

                             @: $(this).parent().parent().find('td:eq(9)').text('');

                             @: alert('obrisao');   

                           }

                     }
                     else
                    { @: alert('niste autorizzovani');  }

 }


Ako je User.IsInRole("BriseDodeluSvoju") true i
ako je If uslov false ne znam zašto izvrši @: $(this).parent().parent().find('td:eq(9)').text(''); i @: alert('obrisao');

Ako neko ima predlog i savet molim a pomoć..

Patak

Re: Razor i JQuery kombinacija 28.04.2015. u 10:30 · pre 139 meseci #3
Pozdrav!

Pa da..morao sam razdvojiti nekako javascript i Razor.

Ovaj deo je izvan <script type="text/javascript">

Code:
@{                    
      var rola = User.IsInRole("BriseDodeluSvoju");                  
                     
   }

a ostatak je:

Code:
    var rola_j='@rola';       


                if (rola_j)
                                                
                    {                     

                    alert($(this).parent().parent().find('td:eq(9)').text().trim().toLowerCase());

                    alert(username.toLowerCase());
                 
                    if ($(this).parent().parent().find('td:eq(9)').text().trim().toLowerCase() == username.toLowerCase())
                      
                           {

                             UpisiDodeluTiktaKorisnicima( $(this).parent().parent().find('td:eq(1)').text().trim(), ''   );

                             $(this).parent().parent().find('td:eq(9)').text('');                              

                           }

                     }
                     else
                    {  alert('niste autorizzovani');}


malo ružno ali radi...

Hvala puno!

Patak
Re: Razor i JQuery kombinacija 28.04.2015. u 13:03 · pre 139 meseci #4
Ovo definitivno izgleda lose i jako tesko za odrzavanje kasnije.

Da li bi ti mozda bilo lakse da upotrebis knockoutjs http://knockoutjs.com/ ?

Imaces model u posebnom javascript file-u, i cist view (HTML) povezan data-bind attributom sa modelom

Ovo deluje kao izuzetno komplikovano.


Mogao bi da koristis with binding za ovaj slucaj http://knockoutjs.com/documentation/with-binding.html

Mislim sta se desi sa ovim : $(this).parent().parent().find('td:eq(9)').text().trim() ako izmenis strukturu HTML-a ?
Re: Razor i JQuery kombinacija 28.04.2015. u 13:49 · pre 139 meseci #5
ssi, Onda ti razor ni ne treba, napravis pure html+js aplikaciju

Al iskreno, daco, to sto si uradio je do zla boga komplikovano i veoma ne-MVC. primedba ssi takodje stoji, hardcodujes lokacije vizuelnih (View) elemanta u necemu sto je ocigledno kontrolerska logika izmestena na client side.

Ne znam sta ti je UpisiDodeluTiktaKorisnicima, ali ako je ajax poziv da se nesto upise u tabelu, onda celu tu pricu treba da zamenis sa propisnim MVC mehanizmom poziva kontrolera sa parametrima. Mozes i da iskoristis i partial views.


Trece, access control se ne radi ovako, ne dajes komande korisnicima i onda ih lupas po prstima ako pokusaju da ih iskoriste. U startu im ni ne renderujes komande ako nemaju autorizaciju. Ti svejedno MORAS da imas proveru role pre akcije na serveru da bi sprecio hakovanje (ovaj tvoj primer je moguce veoma lako hakovati iz javascript debugera) tako da je besmisleno prepustiti javascriptu bilo sta vezano za security.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Razor i JQuery kombinacija 28.04.2015. u 14:27 · pre 139 meseci #6
Citat:
mmix: ssi, Onda ti razor ni ne treba, napravis pure html+js aplikaciju ;)

Al iskreno, daco, to sto si uradio je do zla boga komplikovano i veoma ne-MVC. primedba ssi takodje stoji, hardcodujes lokacije vizuelnih (View) elemanta u necemu sto je ocigledno kontrolerska logika izmestena na client side.

Ne znam sta ti je UpisiDodeluTiktaKorisnicima, ali ako je ajax poziv da se nesto upise u tabelu, onda celu tu pricu treba da zamenis sa propisnim MVC mehanizmom poziva kontrolera sa parametrima. Mozes i da iskoristis i partial views.


Trece, access control se ne radi ovako, ne dajes komande korisnicima i onda ih lupas po prstima ako pokusaju da ih iskoriste. U startu im ni ne renderujes komande ako nemaju autorizaciju. Ti svejedno MORAS da imas proveru role pre akcije na serveru da bi sprecio hakovanje (ovaj tvoj primer je moguce veoma lako hakovati iz javascript debugera) tako da je besmisleno prepustiti javascriptu bilo sta vezano za security.


Hm, html+js, ne iskljucuje razor. Razor mozes da koristis kako bi izvrsio lokalizaciju na primer. (Ako se prevod menja, requirejs ti omogucava da dodas "cache buster")

knockoutjs (tj durandal/knockoutjs) ti nece zameriti ako nekog elementa nema, jer knockout model nije svestan view-a tj. html-a.

Inace slazem se @patak_daca je uspeo da redefinise pojam "spageti code".

Cesto su izgovor za takav nacin rada je "nema vremena" sto prevedeno znaci "mrzi me da ucim".



[Ovu poruku je menjao ssi dana 28.04.2015. u 16:13 GMT+1]
Re: Razor i JQuery kombinacija 28.04.2015. u 16:39 · pre 139 meseci #7
Pozdrav!

Hvala Vam puno na odličnim savetima!

Trudiću se da ispravim sve nedostatke.

Patak
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme